Методы углубленного мониторинга производительности

Оценить
(0 голоса)
Итак, время пришло. Вооружившись только собственным разумом, добавив к нему немного здравого смысла и некоторые основные знания системы, вы собираетесь справиться с проблемой производительности, от которой страдает ваш сервер баз данных. Засучите рукава и поудобнее устраивайтесь перед клавиатурой. Группа немного напуганных коллег смотрит широко открытыми глазами из-за вашего плеча. Похоже, мы немного увлеклись. Все вышесказанное говорит только о том, что цель настоящей главы состоит в разработке простого метода выявления проблем производительности на серверах БД. Предполагается, что вы уже разобрались с проблемами, которые рассматривались в предыдущих главах. Поведение ваших приложений хорошо изучено, а небольшая помощь со стороны консультантов уже способствовала повышению…
Оценить
(1 голос)
Чтобы проверить, не является ли память "узким местом", следует воспользоваться утилитой vmstat, которая показывает, в том числе, что происходит с памятью в системе. Для целей оперативного мониторинга хорошим выбором является контрольный интервал в 5 секунд. Трасса утилиты vmstat, представленная на рисунке 21.1, демонстрирует систему, в которой не ощущается нехватка памяти. На что следует обращать внимание Прежде всего, обратите внимание на значения показателей ро (pageouts - вытеснения страниц из оперативной памяти, количество килобайтов данных, вытесненных из оперативной памяти за секунду) и sr (scan rate - скорость сканирования, количество страниц памяти, отсканированных по алгоритму синхронизации). Когда эти показатели постоянно имеют высокие значения…
Оценить
(0 голоса)
До выпуска Solaris 8 столбец free в выводе утилиты vmstat мог быть не слишком хорошим индикатором наличия доступной памяти в системе. Причина заключалась в следующем, коль скоро страницы памяти используются страничным кэшем файловой системы, они больше не возвращаются в список свободной памяти. Наоборот, блоки данных файловой системы остаются в кэше на тот случай, если они снова понадобятся в будущем. Когда демон страниц обнаруживает нехватку памяти и сканирует ее в поисках страниц, которые можно освободить, он вполне может выбрать для освобождения некоторые страницы из страничного кэша файловой системы. Если эти страницы были изменены, то они сначала опорожняются на диск. Не существует…
Оценить
(0 голоса)
Начиная с операционной системы Solaris 7, была добавлена новая функциональная возможность, которая называется priority paging (приоритетное замещение страниц). Эта возможность понижает в амяти приоритет страниц файловой системы таким образом, чтобы демон страниц выбирал их для освобождения перед страницами прикладных программ. Такое поведение может коренным образом изменить проблемы замещения страниц; приоритетное замещение страниц нужно разрешать везде, где базы данных сосуществуют с открытыми файловыми системами, и особенно в тех случаях, когда файлы БД размещены в файловых системах. Чтобы активизировать приоритетное замещение страниц, следует добавить следующую строку в конфигурационный файл /etc/system: set priority_paging = 1 Доступны соответствующие заплаты, позволяющие добавить функциональные возможности приоритетного…
Оценить
(0 голоса)
Если файлы вашей БД представляют собой файлы UFS, а не низкоуровневые устройства, то можно столкнуться с интенсивным сканированием страниц памяти, даже если было разрешено использование приоритетного замещения страниц. Фактически скорость сканирования может даже увеличиться, поскольку приоритетное замещение страниц быстрее заставляет демона страниц становиться активным. Такое поведение представляет собой естественное следствие необходимости перенести все страницы БД в страничный кэш файловой системы UFS до того, как они смогут стать доступными. Продолжающаяся необходимость поисков свободной памяти влечет за собой ее постоянное сканирование на загруженных серверах БД, использующих файлы UFS. Если приложение выполняет операции обновления, вставки и удаления данных, то следует также ожидать активизацию…
Оценить
(0 голоса)
Как вы могли убедиться, приоритетное замещение страниц не гарантирует полного решения проблем производительности. Хотя при выборе демон страниц будет оказывать предпочтение страницам файловой системы перед страницами приложений, тем не менее, этот демон все-таки должен отсканировать всю память, чтобы найти эти страницы. И если используются большие буферные кэши БД, страницы файловой системы могут составлять только небольшую часть общего объема памяти, значит, потребуется длительный поиск. Начиная с Solaris 8, страницы файловой системы учитываются отдельно, поэтому они могут быть освобождены без необходимости сканирования памяти для поиска этих страниц. Следовательно, демон страниц вообще не нужен, если только не существует какой-нибудь серьезной проблемы с памятью.…
Оценить
(0 голоса)
Если необходимо выяснить, на что расходуется память, существует ряд возможностей: •             Для окончательного ответа на вопрос о потреблении памяти следует воспользоваться утилитой memtool. Сценарий procmem, описанный далее, предоставит детальную структуру использования памяти процессами. И утилита memtool, и сценарий procmem доступны на Web-сайте настоящей книги. •             Выполните команду dmesg и взгляните на Avail mem (доступную память). Разница между доступной и физической памятью (для установления объема физической памяти воспользуйтесь утилитой prtconf или командой /usr/platform/ arch -k’/sbin/prtdiag) определяет объем памяти, зарезервированной для ядра операционной системы. •             С помощью команды /usr/ucb/ps -aux выясните, какие именно процессы являются основными "пожирателями" памяти. Эта команда выводит список…
Оценить
(0 голоса)
Память совместного использования размером 1.3 Гбайт - это большая часть из 1.5               Гбайт резидентной памяти, используемой на этом сервере, и одновременно основная часть, задействованная под процессы СУБД Oracle. Сценарий procmem может применяться для того, чтобы сообщить о потреблении физической и виртуальной памяти некоторой группой процессов. Например, команда procmem ora сообщит о потреблении памяти всеми процессами, которые содержат строку ога в выводе команды ps -ef (процессы Oracle обычно удовлетворяют этому критерию). Если в системе регистрируется другой пользователь СУБД Oracle, выполняющий те же самые приложения, то не следует ожидать увеличения значения компонента Shared памяти разделяемых библиотек /usr/lib, других разделяемых библиотек, двоичных файлов…
Оценить
(0 голоса)
Если вы используете файловые системы для хранения файлов БД, то первым шагом должно быть обновление операционной системы до Solaris 8 (или уже Solaris 9) или разрешение применять приоритетное замещение страниц на более ранних выпусках Solaris. В случае необходимости можно также рассмотреть возможность проведения следующих мероприятий, сокращающих проблемы с памятью на сервере БД: •             Добавить больше памяти на вычислительной системе. •             Использовать прямой ввод/вывод для файлов БД. •             Сократить размер буферного кэша БД. Такое сокращение может привести к дополнительному вводу/выводу, но это почти всегда предпочтительнее замещения страниц, или страничной подкачки. •             Удалить приложения с сервера. Если приложения выполняются на сервере, переместите…
Оценить
(0 голоса)
Если вы уже перешли ко второму этапу, то должны точно знать, что происходит с памятью на вашей системе. Следующим этапом должно стать выяснение того, существуют ли какие-нибудь "узкие места" в дисковой подсистеме или диски, которые могут вскоре стать такими "узкими местами". Чтобы проверить наличие "узких мест" в дисковой подсистеме, следует воспользоваться утилитами iostat, statit или sar. Утилита statit доступна на Web-сайте настоящей книги. Попробуйте команду iostat -хп 5 (опция -п, которая отображает дисковые имена в формате cntndn, доступна только начиная с Solaris 2.6). Если на вашей системе установлено много дисков, то вывод может быть таким огромным, что в нем даже…
«ПерваяПредыдущая123СледующаяПоследняя»
Навигация