Ну, конечно, вы можете найти несколько интересных мнений по поводу трубок.
У Oracle нет настоящей серверной архитектуры (у других она есть).
Вместо того, чтобы выполнять классические серверные задачи, такие как многопоточность, кэширование страниц данных, параллельная обработка (разделение запроса по нескольким устройствам) и т. Д. Внутри себя, он использует o / s для всего этого.Это означает, что для каждого пользовательского процесса (соединение PL / SQL) существует один процесс unix;1000 пользователей означают 1000 процессов Unix, все конкурирующие за одни и те же ресурсы.
Вы можете заметить, что Oracle имеет
- архитектура пула соединений (многопоточный сервер) с тех порверсия 7 (1992).
- кэш для страниц данных (также называемый буферным кешем), поскольку навсегда
- параллельный запрос (разделение запроса по многим процессам) начиная с версии 7.1 (1993)
- разделение запросов по нескольким серверам начиная с OPS (версия 6) или по распределенным базам данных (версия 5)
Примечательно, что даже если все сказанное было правильным, а не неправильным, это нена самом деле не поможет вам в определении первопричины.
Особенно примечательно, поскольку он использует файлы файловой системы (не необработанные разделы), а «кеширование» происходит извне, оно в значительной степени зависит (и очень чувствительно) от имеющегося у вас кеша файловой системы.настроить.Точно так же Oracle требует огромного объема памяти для этих процессов.
Oracle, безусловно, может использовать необработанные разделы снова, начиная с прошлого тысячелетия, более того, если вы хотите кешировать в базе данных - используя буферный кешо котором PerformanceDBA забыл - и в обход кеша файловой системы эта функция доступна во всех текущих файловых системах.Oracle также предоставляет свой собственный комбинированный менеджер файловой системы / тома в ASM, который вы можете использовать, если хотите.
Oracle также достаточно хорошо оснащен (и если у вас есть доступ к dtrace, как и Solaris), и он может точно сказать вам, какие сеансы, процессы и т. Д. Используют ЦП, сколько времени приложение тратит в базе данных.by (вплоть до времени чтения отдельных блоков, если вам это нужно) и поэтому очень подвержен профилированию.Я бы порекомендовал вам ознакомиться с документом «Мысля о производительности», который доступен по адресу http://www.method -r.com / downloads / cat_view / 38-paper-and-article и написан одним из ведущих экспертов по производительности Oracle вмир.Если у вас есть доступ к пакету Oracle Diagnostics, то проверка, прежде всего, отчетов ADDM и, во-вторых, отчетов AWR будет выгодной.