Мониторинг и настройка производительности
Оценить
(0 голоса)
На рисунке 23.7 представлен пример переключений контекста, обусловленных рядом событий, включая конкуренции за захват блокировок (lock contention) и "непопадания" при обращении к кэшу данных (cache search misses). Смысл переключения контекста состоит в сохранении регистров процессора и загрузке их новым содержимым при переключении на другой процесс или при обработке прерываний. Высокий процент показателя Cache Search Misses означает, что необходимо больше кэш-памяти или что кэши плохо сконфигурированы. Измеряется процент переключений задач, происшедших потому, что требуемая страница не могла быть найдена в кэше данных. ASE переключается на другую задачу в то время, как требуемая страница считывается в кэш. Приведенная статистика содержит результаты для…
Оценить
(0 голоса)
Эффективное управление вводом/выводом является критичным с точки зрения производительности БД. В настоящем разделе будут проанализированы проблемы производительности и мониторинга, связанные с асинхронной упреждающей выборкой, производительностью журналов и балансировкой ввода/вывода между дисковыми устройствами. Асинхронная упреждающая выборка APF (Asynchronous Prefetch - асинхронная упреждающая выборка), введенная с ASE 11.5, пытается заносить страницы памяти в кэш до того, как какой-нибудь запрос обратится к ним. Упреждающая выборка может улучшить производительность последовательных сканирований, dbcc-проверок, восстановления и других действий, требующих считывания больших объемов данных. Эта технология в меньшей степени пригодна для большинства запросов OLTP, где последовательные сканирования обычно обозначают проблему (такую как ошибка "непопадания" индекса). Сервер ASE…
Оценить
(0 голоса)
System 11 предоставляет ULC (User Log Cache - кэш пользовательского протокола), обеспечивающий пакетную запись протоколов в буфере протоколирования. Этот кэш уменьшает конкуренцию за захват семафора протоколирования. Установка размера кэша пользовательского протокола должна осуществляться с учетом среднего размера транзакций. Размер кэша устанавливается с помощью конфигурационного параметра user log cache size. Размер блока ввода/вывода для объекта syslog (системного журнала) также может быть настроен для повышения производительности. Опыт показал, что блок ввода/вывода в 4 Кбайт обеспечивает в большинстве случаев оптимальную производительность. Чтобы изменить размер блока ввода/вывода для объекта syslog, следует воспользоваться хранимой процедурой sp_logiosize. Обратите внимание на то, что для достижения наилучшей производительности…
Оценить
(0 голоса)
Если размер ULC слишком мал, то это приведет к его чрезмерному опорожнению в конец журнала с возможной конкуренцией за семафор протоколирования (сообщение хранимой процедуры sp_sysmon, выводимое под заголовком Task Context Switches Due To: Log Semaphore Contention). На рисунке 23.10 имеется показатель Log Semaphore Requests (запросы семафора протоколирования) - большое значение показателя Waited (ожидавшие) по сравнению с Granted (гарантированные) может также указывать на наличие проблем. Балансировка ввода/вывода между устройствами Чем больше операций ввода/вывода вы сможете распределить между множеством устройств, тем менее вероятно возникновение конфликтов ввода/вывода. Далее приведены некоторые основные принципы, позволяющие избежать конкуренции и сокращать время отклика при выполнении операций ввода/вывода:…
Оценить
(0 голоса)
В настоящем разделе будут рассматриваться способ использования ЦП (центрального процессора) механизмами СУБД Sybase и пути увеличения эффективности использования ЦП сервером ASE. Использование ЦП механизмами Sybase В среде SMP использование ЦП управляется рядом механизмов сервера данных. Указанное количество механизмов устанавливается с помощью конфигурационного параметра max on-line engines. Определить использование ЦП можно с помощью хранимой процедур! sp_sysmon. Если степень использования велика, сконфигурируйте дополнительные механизмы СУБД. Если текущее количество механизмов используется недостаточно интенсивно, рассмотрите вопрос о сокращении их числа. Лучше иметь несколько интенсивно используемых механизмов, чем много бездействующих. Причина кроется в том, что механизм Sybase будет использовать циклы ЦП даже тогда, когда он…
Оценить
(0 голоса)
В ASE 11.5 введена возможность разделения запросов между множеством потоков сервера. В следующем разделе рассматривается настройка параллельной обработки на сервере ASE. Параллельные запросы Начиная с ASE 11.5, СУБД Sybase поддерживает параллелизм внутри самих запросов, позволяя разбивать один запрос на несколько задач ASE. Подобный параллелизм может существенно улучшить производительность больших запросов и особенно в средах DSS. Хотя время выполнения запросов может быть существенно сокращено, однако при выполнении запросов в параллельном режиме задействуется большее количество ресурсов по сравнению с обычной обработкой запроса через единственный поток. По этой причине важно сбалансировать производительности, требуемые для рабочих нагрузок в средах DSS и OLTP. Выделение системных…
Оценить
(1 голос)
Если процентное значение показателя Requests Denied (не принятые запросы) велико и ваши механизмы СУБД используются не полностью, увеличьте number of worker processes (число рабочих процессов) для обеспечения параллельного выполнения большего количества запросов и сортировок, Если в группе Memory Requests for Worker Processes (запросы памяти для рабочих процессов) отображается высокое процентное значение показателя Failed (число сбойных запросов), то вероятноы придется увеличить значение конфигурационного параметра memory per worker process. Показатель Requests Terminated отображает количество раз, когда пользователь завершал параллельный запрос (например, с помощью комбинации клавиш Ctrl+C). Событие WP Adjustments Made (произведена регулировка рабочих процессов) происходит тогда, когда степень параллелизма предлагает оптимизатор, однако…
Оценить
(0 голоса)
Большинство процессов, требующих сортировки, могут извлекать выгоду от применения параллельной сортировки. При параллельной сортировке случается многое из того, что имеет место при параллельной обработке запроса. Параллельная сортировка требует больше системных ресурсов, чем последовательная. Рабочие процессы сортировки разделяются на производительные процессы, зависящие от количества разделов в таблице или индексе, затратные процессы, зависящие от количества устройств БД в tempdb, и координирующий процесс, который обрабатывает заключительное слияние. Количество требуемых рабочих процессов зависит от количества разделов в таблице или количества устройств, сконфигурированных для таблицы. Вот некоторые правила, относящиеся к производительности параллельной сортировки: •             Сортировки кластерных индексов в разделенных на разделы таблицах должны выполняться в…
Оценить
(0 голоса)
Несколько других советов по настройке рассматриваются в заключительном раз-/имс ннеюящей главы, включая советы относительно сети и мониторинга блокиро-1зок. утилиты Ьср и производительности создания индекса, а также по настройке интервала восстановления. Пакеты данных, пересылаемые между клиентами и серверами Sybase, используют независимый от сети протокол, который называется TDS (Tabular Data Streams - потоки табличных данных). Заданный по умолчанию размер пакета TDS равен 5I2 байт и является адекватным для большинства случаев с рабочими нагрузками OLTP. Для некоторых рабочих нагрузок мог бы подходить больший размер пакета. Когда ASE получает часть мультипакетного сообщения протокола TDS, данный поток является контекстно-переключаемым на время ожидания поступления оставшихся пакетов.…
Оценить
(0 голоса)
До System 11, когда какое-нибудь приложение получало более 200 блокировок страниц на некоторой таблице, подобная блокировка автоматически переходила в блокировку всей таблицы. На больших таблицах такое поведение могло приводить к отрицательному воздействию на производительность, поэтому в System 11 фирма Sybase создала конфигурируемую точку перехода. Хранимая процедура sp_sysmon сообщает о переходе блокировки только тогда, когда это происходит; если количество переходов блокировки велико, можно рассмотреть вопрос об увеличении значения кон- фигурационного параметра page lock promotion HWM (High-Water Mark - отметка уровня "высокой воды") для того, чтобы увеличить количество блокировок, которое вызывает переход (от блокировки отдельных страниц до всей таблицы). Переход произойдет только…