DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Предварительное создание выделенных серверов

До этого момента много говорилось о многопоточном сервере, его конфигурировании, использовании и настройке. Но если вы понимаете, что MI'S не совсем подходит для вашей среды, можно использовать и другие средства, помогающие повысить эффективность,— например, предварительно созданные выделенные серверы.
О предварительно создаваемых выделенных серверах кратко говорилось в главе 6. Давайте сначала повторим то, что уже было сказано, а потом рассмотрим их более подробно. При использовании выделенных серверов у вас есть две возможности: либо создавать (порождать) соединения с базой данных до поступления каких-либо запросов, либо порождать каждый процесс выделенного сервера в момент приема запроса.
Обзор предварительно создаваемых выделенных серверов
Если вы решите использовать предварительно порождаемые процессы выделенных серверов, то для создания каждого предварительного соединения потребуются определенные ресурсы, однако при необходимости эти соединения будут доступны мгновенно. Проблема состоит в том, что однажды созданные серверы остаются доступными на протяжении всего времени жизни прослушивающего процесса. Следовательно, если вы создадите десять предварительных соединений и будете использовать только два из них, остальные восемь будут напрасно занимать системные ресурсы, освободить которые не удастся без остановки прослушивающего процесса.
Если же вы решите создавать выделенные процессы по мере поступления запросов, то клиентам придется ждать, пока запустится требуемый процесс. С другой стороны, после отсоединения клиента ресурсы будут возвращены системе. Что произойдет, если количество запросов на соединения превысит количество предварительно созданных серверов? Тогда Oracle просто начнет создавать выделенные процессы по запросу, освобождая ресурсы после завершения сеансов, пока предварительно созданных соединений снова не окажется достаточно.
Суммируем все преимущества, которые дает использование предварительно созданных выделенных серверов. Прежде всего, сокращается время установления соединений по клиентским запросам, поскольку не требуется создавать выделенный сервер для каждого нового запроса. Далее, поскольку предварительно порожденные процессы остаются доступными на протяжении всего времени жизни прослушивающего процесса, исключаются накладные расходы на уничтожение и повторное создание серверов, а следовательно, более эффективно используется выделенная память и системные ресурсы. Это особенно важно в системах, где отсутствует поддержка MTS или создание новых процессов требует значительного времени и ресурсов.

Внимание
В Windows NT предварительное создание выделенных серверов невозможно.
Конфигурирование предварительно создаваемых выделенных серверов
Теперь, когда польза от предварительно создаваемых выделенных серверов стала для вас очевидной, попробуйте догадаться, как их конфигурировать. Я уже дала одну подсказку, упомянув о том, что они запускаются вместе с прослушивающим процессом. Таким образом, вы должны были сообразить, что нужно поместить подходящие параметры в файл listener.ora. О том, что это за параметры, вы можете узнать из таблицы 11.9.
Чтобы разрешить предварительное создание выделенных серверов, можно либо вручную отредактировать файл listener.ora, либо прибегнуть к услугам Net8 Assistant. Записи в listener.ora должны выглядеть примерно следующим образом:
Как следует из этого примера, количество предварительно созданных выделенных серверов в любой момент времени будет не менее четырех и не более 25. Время ожидания нового соединения составляет 5 минут. Помните, что значение тайм-аута применяется только после того, как предварительно созданный процесс был использован первый раз. До этого оно не оказывает влияния на процесс.
 









jAntivirus