Задействовав MTS, вы можете заметить некоторое снижение производительности при использовании распараллеливания, распараллеливания между узлами или хэш-соединений (hash joins). Дело в что в перечисленных случаях миграция сеанса на другой разделяемый сервер может оказаться невозможной, поскольку в сохраняется не вся информация о пользовательском состоянии. Часть этой информации иногда помещается в PGA. Вспомните, что запросы одного пользователя, выданные в ходе одного сеанса, могут обрабатываться более чем одним разделяемым сервером. Та часть информации о состоянии, которая сохраняется в UGA, становится недоступной для разделяемых серверов, в результате чего сеанс может остаться привязанным к одному разделяемому серверу. Короче говоря, если пользователь использует любую из перечисленных выше возможностей и при этом выполняет множественные запросы, то весьма вероятно, что он не сможет воспользоваться преимуществами MTS, а обслуживающий его разделяемый сервер станет недоступен для других пользователей.
Хотя отдельно взятый пользователь может и не испытывать проблем с производительностью, проблемы могут возникнуть у других пользователей, поскольку один из разделяемых серверов больше не участвует в параллельной обработке. Следовательно, если ваши пользователи приме-
няют В-файлы, распараллеливание, распараллеливание между узлами и/или то возможно, что вам придется конфигурировать дополнительные разделяемые серверы для сохранения возможности параллельной обработки или соединять пользователей с базой данных через выделенные серверы.
няют В-файлы, распараллеливание, распараллеливание между узлами и/или то возможно, что вам придется конфигурировать дополнительные разделяемые серверы для сохранения возможности параллельной обработки или соединять пользователей с базой данных через выделенные серверы.
Но как выявить проблемы с производительностью? В Oracle есть несколько представлений, которые показывают различную статистику, носящуюся к MTS. Они перечислены в таблице 11.3. Далее описано каждое из этих представлений и показано, как их использовать для определения производительности многопоточного сервера,
Таблица 11.3.
Представления V$, используемые для разрешения конфликтов
Представление
|
Описание
|
V$DISPATCHER
|
Дает общую информацию о диспетчере.
|
V$DlSPATCHER_RATE
|
Показывает текущие, средние и максимальные показатели.
|
V$QUEUE
|
Показывает, сколько времени (в сотых долях секунды) запросы и ответы находились в очередях, ожидая обработки.
|
V$SHARED_SERVER
|
Показывает текущее количество разделяемых серверов.
|
VSMTS
|
Дает сводную информацию по соединениям MTS.
|
< Предыдущая | Следующая > |
---|