Мониторинг и настройка производительности
Оценить
(0 голоса)
В комплект поставки операционной системы Solaris входит множество инструментальных средств для отслеживания поведения системы. Наиболее используемыми средствами являются следующие: •             iostat - Мониторинг использования дисков, времени обслуживания и связанных с этим показателей. •             mpstat - Мониторинг по каждому ЦП. Эта утилита также сообщает об активности прерываний для каждого ЦП. •             netstat - Мониторинг сетевого трафика. •             nfsstat - Мониторинг NFS. •             рз -г Мониторинг по каждому процессу. •             sar - Все аспекты системного мониторинга кроме сетей. Утилита sar может по желанию сохранять данные в двоичном файле. Позднее данные могут быть извлечены из этого двоичного файла либо за период полного мониторинга,…
Оценить
(0 голоса)
Одним из широко распространенных ошибочных представлений является мнение о том, что применение этих инструментальных средств негативно воздействует на производительность системы. Фактически, за исключением ps и в меньшей степени утилит top и prstat, использование любого из этих инструментальных средств на интервалах порядка 1 или 2 секунд совершенно безопасно. Если необходимы более убедительные доказательства, попробуйте выполнить команду vmstat 1 на бездействующей системе. Нетрудно видеть, несмотря на запуск утилиты vmstat, операционная система все равно показывает, что ЦП простаивает на 100% (кроме незначительной активности системного демона, которая происходит каждые несколько секунд вне зависимости от того, запущена утилита vmstat или нет). Значительная часть ресурсов ЦП…
Оценить
(0 голоса)
Чрезвычайно полезный набор инструментальных средств, основанных на информации, которая хранится в /ргос, может быть найден в каталоге /usr/proc/bin (начиная с Solaris 8, эти инструментальные средства расположены в каталоге /bin, при этом в каталоге /usr/proc/bin находятся символические ссылки, указывающие на это новое местоположение). В их число входят следующие средства: •             pcred - Выводит на печать мандаты (действующие, реальные и сохраненные идентификаторы пользователей (UID) и групп (GID)) для каждого процесса. •             pfiles -Сообщает информацию системных вызовов fstat(2) и fcntl(2) для всех открытых файлов в каждом процессе. •             pflags - Выводит на печать флаги трассировки /ргос, отложенные и задержанные сигналы, а также другую…
Оценить
(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 выясните, какие именно процессы являются основными "пожирателями" памяти. Эта команда выводит список…