Длина очереди диска в мониторе ресурсов какая должна быть
Перейти к содержимому

Длина очереди диска в мониторе ресурсов какая должна быть

  • автор:

Длина очереди диска в мониторе ресурсов какая должна быть

В данной статье мы расскажем, почему тормозит Windows и опишем популярные системы мониторинга, которые помогут выявить проблему. Данная информация будет полезна не только администраторам серверов на Windows, но и простым пользователям, которые работают с этой системой на своих ПК. Также материал будет полезен всем, кто использует виртуальный сервер на Windows и хочет добиться большей производительности.

Производительность сервера зависит от многих факторов. Условно все источники проблем можно разделить на несколько основных групп, а именно — процессор, оперативная память, жесткий диск, сеть и программное обеспечение. Если причина сбоев не очевидна, то в первую очередь нужно проверить состояние перечисленных компонентов. Для начала рассмотрим штатные инструменты для анализа производительности системы на примере Windows Server 2012 R2.

1. Диспетчер задач

Диспетчер задач позволяет выполнять различные операции с процессами, например назначать приоритет, “привязывать” процессы к определенному процессору, создавать новые процессы, но наиболее частое применение — быстрый просмотр текущей загруженности системы и принудительное завершение “проблемных” приложений.

Способы запуска Диспетчера задач:

  • щелкнуть правой кнопкой мыши на панели задач и выбрать в меню “Диспетчер задач
  • ввести команду “taskmgr” в окне “Выполнить” или командной строке.
  • нажать комбинацию клавиш “Ctrl+Alt+Del” и выбрать “Диспетчер задач
  • нажать комбинацию клавиш “Ctrl+Shift+Esc

Диспетчер задач отображает в реальном времени для каждого работающего процесса объем потребляемой оперативной памяти и нагрузку на процессор. Наиболее полная информация представлена на вкладке “Подробности”. Если щелкнуть мышью по заголовку любого столбца, строки будут отсортированы по его значениям. Для принудительного завершения процесса нужно щелкнуть правой кнопкой мыши по соответствующей строке и выбрать “Снять задачу”. Кроме этого в контекстном меню доступны дополнительные действия.

Как устроен диспетчер задач Windows - мониторинг процессов на сервере

Если на сервере работает одновременно несколько пользователей, будет полезна вкладка “Пользователи” на которой все процессы сгруппированы по пользователям. Щелчок правой кнопкой мыши по имени пользователя вызывает контекстное меню с доступными действиями. Администратор может отправить сообщение, отключить или полностью завершить сеанс выбранного пользователя.

Вкладка “Службы” отображает состояние служб, а через контекстное меню можно выполнить остановку, запуск или перезапуск службы. На вкладке “Процессы” выполнена группировка процессов по типу, а на вкладке “Производительность” текущая активность компонентов компьютера представлена в графическом виде.

Диспетчер задач предоставляет пользователю минимальный объем информации о загруженности системы, с помощью которого можно выполнить первоначальную диагностику.

2. Монитор ресурсов

Монитор ресурсов содержит более детальную информацию. Кроме загрузки процессора и оперативной памяти, для каждого процесса в реальном времени отображаются операции чтения и записи на диск, открытые файлы, связанные службы и библиотеки, сетевая активность.

Как запустить мониторинг ресурсов? Есть несколько способов:

  • нажать кнопку “Открыть монитор ресурсов”, расположенную на вкладке “Производительность” диспетчера задач;
  • ввести команду “resmon” в командной строке или окне “Выполнить”;
  • выбрать “Монитор ресурсов” в меню “Средства” диспетчера серверов.

На каждой вкладке монитора ресурсов информация представлена в табличном и графическом виде. Для того, чтобы в таблицах изменить набор столбцов, нужно щелкнуть по заголовку любого столбца правой кнопкой мыши и нажать “Выбрать столбцы”. Если на любой из вкладок пометить нужные процессы флажком, информация в других таблицах будет автоматически отфильтрована по выбранным значениям.

Сведения об активности процессора, памяти, дисков и сети представлены на отдельных вкладках, а вклада “Обзор” содержит сводную информацию по всем компонентам.

Как запустить мониторинг ресурсов. Основные свойства инструмента

Рассмотрим некоторые полезные возможности монитора ресурсов на Windows.

A. Поиск процесса, блокирующего файл

Бывают ситуации, когда при попытке удалить или изменить файл система выводит сообщение, что файл используется другим приложением и не может быть удален. Для поиска блокирующего процесса нужно ввести часть имени файла в разделе “Связанные дескрипторы”, вкладки “ЦП”. При необходимости процесс можно принудительно завершить.

Поиск процесса блокирующего файл с помощью мониторинга ресурсов

B. Просмотр дисковой активности

На вкладке “Диск” отображаются операции чтения-записи с диска. На скриншоте показан случай, когда система активно обращается к файлу подкачки “c:/pagefile.sys”, обычно это существенно замедляет работу системы и свидетельствует о нехватки оперативной памяти.

Также следует обратить внимание на показатель “Длина очереди диска”, считается, что он не должен превышать более чем в два раза количество физических дисков. Если на сервере установлен один физический диск, нормальной считается длина очереди 1-2. Частые всплески этого показателя и высокое время активности диска могут говорить о низкой производительности дисковой подсистемы.

Просмотр дисковой подсистемы через мониторинг ресурсов - простые способы повысить работоспособность Windows

C. Просмотр сетевой активности

На вкладке “Сеть” можно выявить процессы создающие нагрузку на сеть. Это могут быть сторонние приложения, как на скриншоте, так и внутренние процессы. Как пример можно привести автоматическое обновление операционной системы.

В разделе “TCP-подключения” будут полезны показатели “Процент потерянных пакетов” и “Задержка”, по этим параметрам можно оценивать качество сетевого соединения.

Кроме этого, на вкладке “Сеть” можно видеть прослушиваемые порты и состояние брандмауэра.

Мониторинг сети в ОС Windows

Диспетчер задач и монитор ресурсов могут выявить проблему только при условии, что она наблюдается в момент проведения диагностики, но очень часто проблема проявляется не постоянно, а эпизодически. Далее описываются инструменты для мониторинга состояния системы в течении определенного интервала времени.

3. Системный монитор

Системный монитор позволяет отслеживать счетчики различных системных объектов операционной системы. Например, объект “Физический диск” содержит счетчики “Процент активности диска” и “Средняя длина очереди диска”, а объект “Память” — счетчик “Вывод страниц/с”.

  • выбрать “Системный монитор” в меню “Средства” диспетчера серверов;
  • выполнить команду “perfmon” в командной строке или окне “Выполнить”;
  • выбрать “Системный монитор” в группе “Администрирование” панели управления.

Системный монитор состоит из трех основных компонентов: “Средства наблюдения”, “Группы сборщиков данных” и “Отчеты”. В разделе “Средства наблюдения” находится системный монитор, с помощью которого можно наблюдать показания счетчиков в реальном времени или просматривать ранее сохраненные отчеты. Раздел “Группы сборщиков данных” содержит набор счетчиков за которыми будет вестись наблюдение. Для диагностики можно воспользоваться двумя готовыми системными группами или создать собственные. В разделе “Отчеты” сохраняются результаты мониторинга.

Рассмотрим диагностику используя готовую группу сборщиков данных “System Performance (Производительность системы)

1. Переходим в раздел “Группы сборщиков данных” — “Системные” и запускаем группу “System Performance (Производительность системы)

Поиск причины тормозов Windows - используем Системный монитор для сбора статистики

2. Ожидаем завершения сбора данных, продолжительность по умолчанию 1 минута, и открываем отчет в разделе “Отчеты” — “System Performance

Отчет Системного монитора о производительности Windows

В верхней части отчета отображается сводная информация по основным компонентам системы и рекомендации в случае обнаружения проблем. На тестовом сервере результаты диагностики показали нехватку оперативной памяти.

Для того, чтобы увидеть как изменялись значения счетчиков во время сбора данных нужно нажать на панели инструментов кнопку “Просмотреть данные в системном мониторе”. После этого щелкаем в нижней части окна на интересующий нас счетчик, например “% загруженности процессора” и нажимаем кнопку “Выделить” на панели инструментов, после чего соответствующий график станет выделен черной жирной линией. Под графиками отображаются среднее, максимальное и минимальное значения выбранного счетчика.

Просмотр отчета в Системном мониторе

Отчеты хранятся в обычных файлах в папке “c:\Perflog”, поэтому их легко можно перенести на другой компьютер.

Встроенные группы сборщиков данных недоступны для редактирования, но для групп созданных вручную можно задавать различные параметры, например общую длительность сбора данных или время запуска по расписанию.
Для создания группы нужно щелкнуть правой кнопкой мыши по папке “Особые” в разделе “Группы сборщиков данных”, выбрать “Создать” — “Группа сборщиков данных” и следовать указаниям мастера. Если на созданной группе щелкнуть правой кнопкой мыши и выбрать “Свойства”, откроется окно в котором можно изменить параметры по умолчанию.

Создание собственной группы сборщиков данных о производительности Windows

4. Журнал событий

В журнале событий регистрируются все значимые изменения в работе операционной системы. Это может быть запуск или остановка службы, установка обновления, перезагрузка, ошибка чтения с диска или сбой в работе приложения. События делятся на информационные, критические, события ошибок и события предупреждений. Если операционная система Windows тормозит, зависает или работает со сбоями, а также какое-либо приложение работает нестабильно, то с большой долей вероятности в журнале событий будут соответствующие записи. Именно эти записи помогут понять причину тормозов и сбоев.

Способы запуска Журнала событий:

  • выбрать “Просмотр событий” в меню “Средства” диспетчера серверов.
  • выбрать “Просмотр событий” в группе “Администрирование” панели управления.
  • выполнить команду “eventvwr” в командной строке или окне “Выполнить

Журналы находятся в разделах “Журналы Windows” и “Журналы приложений и служб”. Скорее всего информация о сбоях будет находиться в журнале “Система” раздела “Журналы Windows”. Но если заранее неизвестно, что именно нужно искать, то можно воспользоваться готовым представлением “События управления”, в котором отображается информация из всех основных журналов. Готовое представление недоступно для редактирования, поэтому если возникнет необходимость изменить выводимые журналы или категории событий можно создать собственное представление или скопировать существующее.

Щелкнем правой кнопкой мыши на представлении “События управления” и выберем “Копировать настраиваемое представление”, в открывшемся окне нажимаем “Ок”. В результате появится новое представление “События Управления (1)”. Для редактирования нужно выделить созданное представление и нажать в правой части окна кнопку “Фильтр текущего настраиваемого представления”.

Для диагностики неисправности можно настроить вывод только ошибок и критических событий.

Поиск причины зависания Windows с помощью журнала событий

5. Монитор стабильности системы

Монитор стабильности системы можно рассматривать как дополнение к журналу событий. Для запуска нужно открыть “Панель управления”, перейти в раздел “Центр поддержки” и нажать “Показать журнал стабильности работы” в группе “Обслуживание”.

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

События в окне монитора сгруппированы по датам. Если выделить определенную дату, в нижней части экрана отобразится список связанных событий. В зависимости от степени критичности, в верхней части экрана строится линия стабильности, по которой можно оценивать динамику сбоев.

Просмотр событий в мониторе стабильности системы

Описанные инструменты мониторинга взаимно дополняют друг друга, поэтому их комплексное использование позволяет получить наиболее полную информацию о работе системы.

Инструменты, перечисленные в данной статье, могут помочь выявить большинство причин зависания и тормозов Windows. Зачастую поиск и устранение неисправностей помогает восстановить скорость работы системы без переустановки Windows.

Использование Монитора ресурсов: дисковая подсистема

Для удобства рассмотрения мы будем использовать скриншот Монитора ресурсов (рис. A), запущенного на производственном сервере под управлением Windows Server 2008 R2. На этом сервере установлен Exchange Server 2010 со всеми ролями, поэтому он нуждается в большой дисковой подсистеме с приемлемой производительностью. (Примечание: как и все другие наши серверы, этот работает в виртуальной машине на базе VMware vSphere 4.1.)

Использование Монитора ресурсов: дисковая подсистема
Рисунок A. Монитор ресурсов в Windows Server 2008 R2 (нажмите на изображении для увеличения).

Начнем с общего обзора консоли. Большую часть окна занимают статистические показатели, о которых я подробно расскажу ниже. Справа расположены графики, каждый из которых представляет один из важных показателей производительности дисковой подсистемы.

Ниже я подробно рассмотрю каждый показатель. Я не буду повторяться: если показатель присутствует в нескольких местах, я упомяну его только в первый раз.

Процессы с дисковой активностью

В разделе «Процессы с дисковой активностью» (Processes With Disk Activity) перечислены все запущенные процессы, использующие ресурсы хранения. В списке показано имя исполняемого файла и ряд связанных с ним статистических показателей.

• «Образ» (Image) – имя исполняемого файла. Это имя процесса, активно использующего диск.
• «ИД процесса» (PID) – идентификатор процесса. Может пригодиться для управления процессами с использованием других утилит или для поиска процессов в Диспетчере задач (Task Manager).
• «Чтение (байт/с)» (Read (B/sec)) – среднее количество прочитанных процессом байтов в секунду за последнюю минуту.
• «Запись (байт/с)» (Write (B/sec)) – среднее количество записанных процессом байтов в секунду за последнюю минуту.
• «Всего (байт/с)» (Total (B/sec)) – среднее количество использованных байтов в секунду за последнюю минуту.

Информация, которая приводится в этом разделе, не особенно актуальна для диагностики – она лишь позволяет выяснить, какие процессы потребляют больше всего ресурсов диска. На рис. A, например, можно заметить, что больше всего операций чтения с диска выполняет процесс с именем «DPMRA.exe».

Работа диска

В разделе «Работа диска» (Disk Activity) собраны более полезные для диагностики сведения. Самый ценный показатель – пожалуй, время ответа, поскольку его можно оценить, даже не зная исходной конфигурации дисковой подсистемы.

Справа от названия раздела расположены два небольших индикатора. Зеленый показывает текущий дисковый ввод/вывод (Disk I/O), то есть, количество передаваемых в данный момент данных), а синий – максимум активного времени дисковой подсистемы (Highest Active Time).

• «Файл» (File) – имя файла, используемого процессом. Здесь указывается полный путь к файлу, чтобы его легче было найти.
• «Приоритет ввода/вывода» (I/O Priority) – приоритет операций ввода/вывода.
• «Время ответа (мс)» (Response Time (ms)) – время отклика диска в миллисекундах. Как правило, чем ниже этот показатель, тем лучше. В целом, время ответа менее 10 мс свидетельствует о хорошей производительности. Не страшно, если этот показатель время от времени превышает отметку в 10 мс, но если системе постоянно приходится дожидаться ответа дисковой подсистемы более 20 мс, это может свидетельствовать о наличии проблем, а конечные пользователи в таком случае заметят ощутимое снижение быстродействия. Если время ответа достигает 50 мс и выше, значит, проблема действительно серьезная. На рис. A, как видите, время ответа составляет 5-6 мс, так что дисковая подсистема функционирует исправно, если судить по этому показателю.

Запоминающие устройства

В разделе «Запоминающие устройства» (Storage) содержатся следующие сведения:

• «Логический диск» (Logical Disk) – буква диска.
• «Физический диск» (Physical disk) – выбранный для мониторинга физический диск.
• «Активное время (%)» (Active Time (%)) – сколько времени диск проводит, активно обслуживая запросы, в противовес времени простоя. Если активность диска постоянно очень высока (скажем, более 80%), это может указывать на наличие потенциальных проблем, связанных с ресурсами хранения. Если пользователи жалуются на низкое быстродействие, а активное время постоянно составляет 100%, возможно, необходимо увеличить объем дисковой подсистемы или установить более производительные накопители.
• «Свободно (МБ)» (Available Space (MB)) – количество свободного пространства в текущем томе диска.
• «Всего (МБ)» (Total Space (MB)) – общий объем тома.
• «Длина очереди диска» (Disk Queue Length) – средняя длина очереди диска. Длина очереди показывает количество ожидающих выполнения запросов (на чтение и запись) в любой момент времени. Если этот показатель довольно высок, это может свидетельствовать о том, что скорость вращения диска недостаточна для удовлетворения запросов приложений или что дисковая подсистема имеет слишком низкую производительность и не справляется с запросами. Однако чтобы оценить, насколько высок показатель, необходимо хорошо понимать, как создается базовый том в SAN. Каждый диск, из которых складывается базовый том, предоставляет дополнительные ресурсы, которые учитываются при расчете длины очереди (проще говоря, чем больше дисков, тем выше будет длина очереди).

Уровень RAID и размер страйпа тоже влияют на длину очереди, что дополнительно усложняет задачу. Однако если компьютер оснащен всего одним диском, а длина очереди постоянно превышает 2, система нуждается в дополнительных ресурсах хранения. Длина очереди более 5 свидетельствует о наличии серьезных проблем. Если вам известно, из скольких дисков состоит базовый том, умножьте количество дисков на 2, чтобы очень грубо, приблизительно, прикинуть максимально допустимую длину очереди. К примеру, если в системе десять дисков, а длина очереди равна 18, значит, все в порядке.

Графики – очень полезный инструмент. В верхнем графике показана скорость обмена данными между диском и операционной системой за последнюю минуту. Зеленая кривая показывает текущий суммарный ввод/вывод, а синяя – активное время диска за этот период. На остальных графиках показана длина очереди для каждого диска в системе.

На сервере Exchange, который показан в моем примере, используется четыре диска (тома SAN). С учетом структуры базовых томов SAN в этом массиве, никаких проблем, связанных с длиной очереди, не возникает.

До встречи во второй части

Автор: Scott Lowe
Перевод SVET

Оцените статью: Голосов

Мониторинг SharePoint 2013/2016: ключевые счетчики производительности

Здравствуйте! Меня зовут Любовь Волкова, я системный архитектор департамента разработки бизнес-решений. Основная моя специализация — внедрение, разработка решений, техническая поддержка корпоративных порталов SharePoint. Многолетний опыт работы позволяет выделить основные закономерности, влияющие на производительность серверов, входящих в состав типовой фермы.

Цель этого поста — помочь администраторам корпоративных порталов SharePoint в составлении эффективных планов обслуживания серверов. В тексте ниже собраны счетчики производительности, рекомендуемые нами для включения в планы ежедневного обслуживания серверов фермы SharePoint 2013/2016, а также даны примеры из практики. Данные о счетчиках вы можете использовать для ручной настройки и анализа показателей панели экспресс-мониторинга, а также в ходе автоматизации получения уведомлений в случае превышения счетчиками пороговых значений в течение периода времени, продолжительность которого зависит от требований и стандартов, принятых в организации.

Системные счетчики

Существует несколько универсальных счетчиков производительности, которые следует отслеживать для любой серверной системы, входящей в состав фермы SharePoint.

Процессор

% Загруженности процессора (_Total)\% Processor Time

Доля времени, которую процессор тратит на обработку всех потоков команд, кроме простаивающего. Это значение равно разнице между 100% и процентом времени, которое процессор затрачивает на выполнение простаивающего потока. (Простаивающий поток команд занимает рабочее время процессора в отсутствие других потоков команд.) Этот счетчик является основным показателем загруженности процессора. Он показывает среднее значение занятости процессора в течение интервала измерения.

Необходимо отслеживать производительность и поддерживать загруженность всех процессоров на уровне не выше 75 %. При более высоких уровнях загруженности система не сможет справиться с внезапными всплесками активности. Это также позволит избежать «эффекта домино», когда сбой одного компонента вызовет неисправность других компонентов. Например, если у вас три веб-сервера, необходимо убедиться, что средняя загрузка ЦП на всех серверах меньше 60 %, чтобы в случае сбоя одного из них два других процессора смогли обработать дополнительную нагрузку.

Прерываний/с (Interrupts/sec)

Средняя скорость, в событиях в секунду, с которой процессор получает и обслуживает аппаратные прерывания. Эта величина не включает отложенные вызовы процедур, которые подсчитываются отдельно. Эта величина является косвенным показателем активности устройств, формирующих аппаратные прерывания, таких как системного таймера, мыши, драйверов дисков, линий передачи данных, сетевых адаптеров и других периферийных устройств. Эти устройства обычно прерывают работу процессора при завершении своей работы или при возникновении необходимости обработки запроса. При этом обычное выполнение потока команд приостанавливается. Системный таймер обычно прерывает работу процессора каждые 10 миллисекунд, создавая ‘фон’ аппаратных прерываний. Поэтому эта величина отображает разницу между значениями последних двух выборок, поделенную на длительность интервала выборки.

Показания счетчика зависят от процессора; подходящее начальное значение — 1 000 прерываний в секунду. Значительное увеличение значения этого счетчика без соответствующего увеличения активности системы указывает на наличие проблем и может быть связано с работой сетевого адаптера, диска или другое оборудования, вызывающего прерывания.

Система

Длина очереди процессора (Processor Queue Length)

Текущая длина очереди процессора, измеряемая числом ожидающих потоков. Все процессоры используют одну общую очередь, в которой потоки ожидают получения циклов процессора. Этот счетчик не включает потоки, которые выполняются в настоящий момент. Для процессорного времени существует одна очередь даже на компьютерах с несколькими процессорами. Поэтому, если компьютер имеет несколько процессоров, нужно разделить эту величину на количество процессоров, обслуживающих нагрузку.

Этот счетчик отражает текущее значение и не является средним значением по некоторому интервалу времени.

Непрерывная очередь процессора менее пяти потоков на процессор, как правило, приемлема, также зависит от рабочей нагрузки. Значения, превышающие пороговое, обычно свидетельствует о перегруженности процессора.

Процесс

Рабочий набор (Working Set) для экземпляра _Total

Показывает текущий размер кэша рабочего набора процесса (в байтах). Рабочий набор — это набор страниц памяти, которые недавно использовались потоками процесса. Если объем свободной памяти на компьютере превышает пороговое значение, неиспользуемые страницы сохраняются в рабочем наборе события процесса. Когда объем свободной памяти становится ниже порогового значения, страницы удаляются из рабочих наборов. Если они потребуются, они будут переданы в рабочий набор при разрешении ошибки ОЗУ, перед тем как будут выгружены из оперативной памяти.

Этот счетчик может указывать как на общесистемные проблемы, так и на проблемы, связанные с определенным процессом. Значительное увеличение или снижение значения размера рабочих наборов приводит к подкачке.

Рекомендуемая настройка для файла подкачки — значение «ОЗУ + 10».

Если происходит удаление из рабочих наборов, необходимо добавить счетчик «Процесс (*)\ Рабочий набор», чтобы узнать, какие процессы подвержены проблеме.

Рекомендуется дополнительно сравнивать показания этого счетчика со значением счетчика «Память\Резидентных байт системного кэша», чтобы определить, не происходит ли общесистемное удаление страниц из рабочих наборов.

% загруженности процессора (% Processor Time) для процессов SharePoint

Показания данного счетчика необходимо анализировать в паре с данными системного счетчика «Процессор\% загруженности процессора» для объекта _Total. Если загруженность всех процессоров превышает пороговые значения, то данные о загрузке процесса ASP.Net позволят определить, не является ли этот процесс источником проблемы.

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

  • w3wp;
  • mssearch;
  • noderunner;
  • miiserver.
Байт исключительного пользования (Private Bytes) для процессов SharePoint

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

Этот счетчик можно использовать для выявления утечек памяти для процессов.

Для процессов SharePoint сравнивают значение этого счетчика с размером кэша для этих же процессов, чтобы определить наличие утечки памяти. Повышение числа байтов исключительного пользования для процесса, сопровождаемое таким же увеличением объема его кэша, свидетельствует о правильном поведении (утечки памяти не происходит).

Байт виртуальной памяти (Virtual Bytes) для процессов SharePoint

Показывает объем виртуального адресного пространства (в байтах), которое в данный момент использует процесс.

Применяется для определения того, не используют ли процессы большой объем виртуальной памяти.

Счетчик потоков (Handle Count) для процесса w3wp

Количество потоков данного процесса, активных в настоящий момент. Значения выше 2000 требуют повышенного внимания со стороны системного администратора, а 10000 является пороговым значением, при котором может наблюдаться уже ощутимое снижение производительности IIS, а как следствие, работы корпоративного портала.

Сетевой адаптер

Всего байт/с (Bytes Total/Sec)

Скорость отправки и получения данных через сетевой адаптер. Если эта скорость превышает 40-50 процентов пропускной способности сети, может потребоваться дополнительное выяснение причин.

Логический диск (Disk)

Средняя длина очереди диска (Avg. Disk Queue Length)

Средняя длина очереди запросов к диску. Отображает количество запросов к диску, ожидающих обработки в течении определенного интервала времени. Нормальным считается очередь не больше 2 для одиночного диска. Если в очереди больше двух запросов, то возможно диск перегружен и не успевает обрабатывать поступающие запросы. Уточнить, с какими именно операциями не справляется диск, можно с помощью счетчиков «Среднее количество запросов на чтение» и «Средняя длина очереди записи на диск».

Средняя длина очереди чтения диска (Avg. Disk Read Queue Length)

Среднее количество запросов на чтение, которые были поставлены в очередь для соответствующего диска в течение интервала измерения.

Средняя длина очереди записи на диск (Avg. Disk Write Queue Length)

Среднее количество запросов на запись, которые были поставлены в очередь для соответствующего диска в течение интервала измерения.

Скорость чтения с диска (байт/с) (Disk Reads/sec)

Скорость, с которой происходит передача данных с этого диска при выполнении операций чтения.

Скорость записи на диск (байт/с) (Disk Writes/sec)

Скорость, с которой происходит передача данных на этот диск при выполнении операций записи.

Пример показаний счетчиков по дисковой подсистеме
Средняя длина очереди диска Средняя длина очереди чтения диска Средняя длина очереди записи на диск Скорость чтения с диска (байт/с) Скорость записи на диск (байт/с)
0,015 0,004 0,011 0,723 9,578

Исходя из значений счетчиков можно сделать вывод, что нагрузка на дисковую систему минимальна и не является узким местом системы.

Память

Доступно Мб (Available Mbytes)

Этот счетчик показывает объем физической памяти, доступный для выделения. Если памяти недостаточно, файл подкачки будет использоваться более интенсивно, а число ошибок страниц в секунду увеличится. Если значение данного счетчик менее 2 GB на веб-сервере, нужно увечить память.

% использования выделенной памяти (% Committed Bytes In Use)

Процентное отношение объема выделенной памяти (Committed Bytes) к пределу выделенной памяти (Commit Limit). Эта величина отражает реально используемый объем доступной виртуальной памяти. Необходимо учитывать, что предел выделенной памяти может быть изменен, если файл подкачки (страничный файл) будет увеличен. Эта величина представляет собой конкретное текущее значение, и не является средним значением по некоторому интервалу времени.

Пороговое значение: 70% для предупреждения, более 90% — критическое. При повышенных значениях достаточно увеличить объем памяти.

Ошибок страницы/сек (Page Faults/sec)

Счетчик показывает среднее число ошибок страниц в секунду. Измеряется количеством неудачных считываний страниц в секунду. Ошибки страниц возникают в случае, когда происходит процесс запроса страницы в памяти, и далее система не может найти его в запрашиваемом месте. Если запрашиваемая страница не найдена в памяти, такая ошибка называется soft page fault. Если запрашиваемая страница должна быть восстановлена с диска, такая ошибка называется hard page fault.

Ввод страниц/сек (Pages Input/sec)

Ввод страниц/сек — это количество страниц, считанных с диска при разрешении ссылок на страницы, которые отсутствуют в памяти в момент обработки ссылки. Ошибка страницы возникает, когда поток ссылается на страницу виртуальной памяти, которая не находится в рабочем наборе оперативной памяти. Этот счетчик учитывает также подкачку (страничный обмен), выполняемый системной кэш-памятью для доступа к данным, запрашиваемым приложениями. Это важный источник сведений для выявления чрезмерной нагрузки на память и возникающего вследствие этого чрезмерного страничного обмена. Рекомендуемое пороговое значение предупреждения – 1000.

Чтение страниц/сек (Page Reads/sec)

Значение счетчика показывает, сколько операций чтения в единицу времени, безотносительно к страницам, было сделано при обработке страничных прерываний. Этот счётчик показывает, что рабочее множество процесса слишком велико для физической памяти, и происходит постраничный обмен с диском. Отображает только количество операций чтения, без учёта количества извлечённых страниц по каждой операции. Большие показания указывают на узкое место памяти. Чрезмерная подкачка может привести к замедлению отклика и его нестабильности.

Счетчики Ввод страниц/сек и Чтение страниц/сек нужно рассматривать совместно. Первый из них содержит количество страниц, прочитанных с диска, а второй — количество операций чтения, совершенных при подкачке. Эти счетчики учитывают Hard Page Faults — операции обращения к памяти, при которых искомая страница данных не находится в физической памяти. Таким образом, если Обмен страниц/сек, Чтение страниц/сек, Ввод страниц/сек постоянно находятся на высоком уровне, то можно предположить, что операционная система активно работает с файлом подкачки, что, в свою очередь, говорит о недостатке памяти. Ввод страниц/сек значение данного счётчика должно быть выше или равно значения Чтение страниц/сек.

Ошибок кэш-памяти/с (Cache Faults)

Этот счетчик показывает частоту возникновения ошибок при поиске страницы в кэше файловой системы. Это может быть программная ошибка, если страница обнаружена в памяти, или аппаратная ошибка, если страница находится на диске.

Активное использование кэша для операций чтения и записи может сильно повлиять на производительность сервера. Необходимо отслеживать увеличение числа ошибок кэша, что обозначается снижением значения Асинхронных быстрых чтений/с или Упреждающих чтений/с.

Обмен страниц/сек (Pages/sec)

Скорость чтения и записи страниц на диск для разрешения серьезных сбоев страниц. Эта величина является суммой величин Ввод страниц/сек и Вывод страниц/сек. Показания счетчика являются основным указателем типов сбоев, которые приводят к задержкам во всей системе. Он показывает количество полученных страниц для компенсации сбоев страниц в кэше файловой системы. Эти страницы обычно требуются приложениями. Значение этого счетчика не должно превышать 10.

Байт в невыгружаемом пуле (Pool Nonpaged Bytes)

Размер (в байтах) невыгружаемого пула. Невыгружаемый пул представляет собой область виртуальной памяти системы, применяемую для объектов, которые не могут быть записаны на диск и должны оставаться в физической памяти на все время своего существования. Этот счетчик отражает только текущее, а не среднее значение.

Запросы на выделение пространства в специальной системной области памяти, где компоненты операционной системы запрашивают место, необходимое им для функционирования. Страницы невыгружаемого страничного пула не могут быть выгружены в файл подкачки (страничный файл) на диск и остаются в оперативной памяти в течение всего периода их использования. Этот счетчик отражает текущее значение, и не является средним значением по некоторому интервалу времени.

Показания счетчика не должны превышать минимального из двух значений, — 2x ОЗУ и 128 Гб.

Общие рекомендации по анализу показателей счетчиков памяти

Если \Память\Обмен страниц/сек, \Память\Чтение страниц/сек, Память\Ввод страниц/сек постоянно находятся на высоком уровне, а \Память\Ошибок кэш-памяти/с на низком, то можно предположить, что операционная система активно работает с файлом подкачки, что, в свою очередь, говорит о недостатке памяти. Однако если \Память\Ошибок кэш-памяти/с тоже высок, то, скорее всего, ситуация вызвана активной работой с большими файлами, отображаемыми в память. Обычно это не занимает много времени.

Пример показаний счетчиков памяти
Доступно Мб % исполь-
зования выделенной
памяти
Ошибок страницы
Ввод страниц
Чтение страниц
Обмен страниц
Байт в невы-
гружа-
емом пуле
6312,758 65 605,378 15,936 1,105 15,995 115352406

Показатели среднего объема физической памяти в норме. Показаний к увеличению ее объема нет. Показатель среднего процента используемого объема физической памяти в норме (65%), но приближается к пороговому значению 70%.

Наблюдаются относительно высокие показатели ошибок при обращении к страницам памяти в сочетании с малым кол-вом операций чтения, совершенных при подкачке. Показания счетчика Ввод страниц/сек в норме и существенно ниже порогового значения. Значения счетчика Обмен страниц/сек (15+) превышают пороговое значение 10. Можно предположить, что система периодически активно использует файл подкачки. Одной из наиболее часто встречающихся причин такого поведения системы, — загрузка на портал файлов больших объемов.

Файл подкачки

% использования (% Used)

Процент использования файла подкачки (страничного файла) в настоящий момент.

% использования (пик) (% Used Peak)

Максимальное использование файла подкачки (страничного файла) в процентах.

Страничный файл сервера, также известный как файл подкачки, содержит «виртуальные» адреса памяти на диске. Ошибки страницы возникают, когда процесс нужно остановить и дождаться, пока необходимые «виртуальные» ресурсы будут скопированы с диска в память. Их будет больше, если объема физической памяти недостаточно.

Отметим, что для SharePoint рекомендуется настроить размер файла подкачки 150% от ОЗУ. Абсолютным минимумом должно быть значение ОЗУ+1 Мб.

Отслеживайте объем физической памяти, доступный для выделения. Если памяти недостаточно, файл подкачки будет использоваться более интенсивно, а число ошибок страниц в секунду увеличится.

Счетчики производительности на серверах SharePoint

ASP.Net и Приложение ASP.Net

ASP.Net. Перезапусков приложения (Application Restarts)

Число перезапусков приложения за время жизни веб-сервера. Значение этого счетчика увеличивается после каждого возникновения события Application_OnEnd (завершение работы веб-приложения). Перезапуск приложения может произойти в результате изменений в файле Web.config, изменения сборок в каталоге \Bin приложения или большого числа изменений страниц веб-форм. Неожиданное увеличение этого значения может быть вызвано тем, что выключение веб-приложение произошло в результате непредвиденных обстоятельств. В этом случае необходимо как можно быстрее провести анализ причин возникновения неполадок. Значение данного счетчика должно стремиться к нулю.

ASP.Net. Отклонение запросов (Requests Rejected)

Общее число запросов, отклоненных из-за переполнения очереди запросов. Отклонение запросов часто выполняется из-за недостатка ресурсов сервера для их обработки. Это значение соответствует числу возвращенных кодов ошибки 503 HTTP, означающей, что сервер занят. Примеры причины возникновения недостатков ресурсов: большое число запросов к веб-серверу, большое количество медленных запросов (неоптимизированных) к СУБД, не корректно отрабатывают компоненты решений, написанные сторонними разработчиками. Таким образом, чтобы выявить причину возникновения недостатка ресурсов на сервере и устранить её, нужно провезти более детальный анализ веб-сервера задействовав дополнительный инструментарий.

ASP.Net. Запросов в очереди (Requests Queued)

Веб-приложение MS SharePoint предоставляет стандартные блоки для HTML-страниц, которые отображаются в браузере пользователя через HTTP и требуют предварительного получения и обработки данных (веб-части, пользовательские элементы управления и т.д.). Для подготовки конечного результата обработки данных, который предоставляется пользователю на веб-странице корпоративного портала, может требоваться один или несколько запросов к базе данных, файловой системе и пр. Этот счетчик показывает число запросов, ожидающих обработки. Максимальное значение по умолчанию для этого счетчика 5000. Этот параметр можно изменить в файле Machine.config. Значение данного счетчика не должно превышать 70-75% от порогового значения, т.е. 3500-3750.

ASP.Net. Перезапусков рабочего процесса (Worker Process Restarts)

Количество перезапускав рабочего процесса на сервере. Рабочий процесс может быть перезапущен при возникновении непредвиденной ошибки или при преднамеренных действиях. Так же причинами перезапуска рабочего процесса могут послужить: большое потребление памяти приложением и нагрузкой на процессор, перезапуск определен в настройках пула приложения. В случае частых перезагрузок рабочего процесса отклик веб-ресурса, при обращении пользователя, займет продолжительное время.

Значение данного счетчика должно стремиться к нулю.

ASP.Net. Время ожидания для запроса (Request Wait Time)

Время ожидания последнего запроса в очереди на обработку в миллисекундах. С увеличением числа событий ожидания пользователи будут замечать снижение производительности при отображении веб-страниц. С увеличением числа событий ожидания пользователи будут замечать снижение производительности при отображении страниц.

Приложение ASP.Net. Запросов/сек (Requests/Sec)

Число запросов, выполняемых в секунду. Представляет текущую пропускную способность приложения. При постоянной нагрузке это число должно оставаться в определенном диапазоне, запрещая другую работу сервера (такую как сборка мусора, поток очистки кэша, внешние средства сервера и т. д.).

Пример показаний счетчиков ASP.Net и Приложение ASP.Net
Application Restarts Requests Rejected Requests Queued Worker Process Restarts Request Wait Time Requests/Sec
2,175 0 0 0 0 0,153

Показатели данных практически всех счётчиков ASP.Net стремятся к нулю в сочетании с небольшими значениями кол-ва запросов в секунду. Следует обратить внимание на высокие показатели кол-ва перезапусков веб-приложения (счетчик Application Restarts). Можно предположить, что пользователи периодически испытывают проблемы с доступностью веб-ресурса, поэтому администратору корпоративного портала необходимо выяснить и устранить причины частых сбоев в работе веб-приложения.

Память CLR .Net (Memory CLR .Net)

Сборов мусора

Сборов мусора для поколения 0 (# Gen 0 Collections) — число извлечений объектов поколения 0 (т. е. объектов, добавленных последними) сборщиком мусора с момента запуска приложения.

Сборов мусора для поколения 1 (# Gen 1 Collections) — число извлечений объектов поколения 1 сборщиком мусора с момента запуска приложения.

Сборов мусора для поколения 2 (# Gen 2 Collections) — число извлечений объектов поколения 2 сборщиком мусора с момента запуска приложения. Этот счетчик увеличивается на 1 после завершения сбора мусора для поколения 2 (что также называют полным сбором мусора).

При мониторинге необходимо обращать внимание на отношение «сборов мусора для поколения 0: сборов мусора для поколения 1: сборов мусора для поколения 2», следить за тем, чтобы число сборов мусора для поколения 2 не сильно превышало число сборов для поколения 0. Оптимальный коэффициент — 2.

% времени в GC (% Time in GC)

Отображает процентное отношение времени, потраченного на сбор мусора после последнего цикла сбора мусора. Этот счетчик обычно обозначает работу, проделанную сборщиком мусора для извлечения и сжатия памяти от имени приложения. Этот счетчик обновляется только в конце каждой сборки мусора. Данный счетчик показывает не среднее, а последнее наблюдаемое значение. В нормальном режиме значение счетчика не должно превышать 5 %.

Исключения CLR.Net (Microsoft .NET CLR Exceptions)

Число исключений.сек (Exceps thrown/sec)

Число исключений, генерируемых в секунду. В этом счетчике учитываются как обработанные, так и необработанные исключения. Предполагается, что исключения возникают лишь в редких случаях и не происходят при нормальном ходе выполнения программы; данный счетчик был введен для того, чтобы сигнализировать о потенциальных проблемах производительности в случаях, когда частота генерации исключений слишком велика (>100). Этот счетчик не обеспечивает усреднение по времени; он показывает отношение разности между значениями, наблюдаемыми в двух последних измерениях, к интервалу между измерениями.

Значение данного счетчика должно стремиться к нулю.

Веб-служба (Web Service)

Показания счетчиков из данной группы рассматриваются в привязке к конкретному экземпляру объекта, — веб-приложению корпоративного портала, например, — «SharePoint – 80».

Количество текущих подключений

Число подключений к веб-службе, установленных в данное время. Чем выше значение, тем больше нагрузка на сервер SharePoint.

Количество запросов расширения ISAPI в секунду (ISAPI Extension Requests/sec)

ISAPI (Internet Server Application Programming Interface) — это набор интерфейсов, предоставляемых веб-сервером MS IIS (Internet Information Services) для написания приложений, взаимодействующих с этим сервером и расширяющих его возможности. Приложения ISAPI представляют собой динамически подключаемые библиотеки (Dynamic Link Library, DLL), напрямую взаимодействующие с API IIS. Приложения ISAPI загружаются и выполняются в адресном пространстве IIS, поэтому серверу не нужно создавать новый процесс при каждом HTTP-запросе. Поскольку Windows загружает динамически подключаемую библиотеку один раз при первом вызове функции в DLL, то приложение ISAPI остается загруженным и не удаляется, пока не будет остановлен/выключен веб-сервер (если включено кэширование ISAPI), либо приложение не будет выгружено явным образом (если кэширование выключено).

Показания счетчика дает представление о частоте запросов расширения ISAPI, полученных веб-службой.

Счетчики SharePoint Foundation

SQL Query Executing time

Счетчик показывает среднее время выполнения запросов SQL. Возвращаемое значение должно быть настолько низким, насколько это возможно. На показания этого счетчика оказывают существенное влияние данные о нагрузке на базовые подсистемы и их физические характеристики (память, процессор, сеть, дисковые устройства). На показания данного счетчика также оказывают влияние:

  1. Неоптимизированные планы выполнения T-sql запросов, которые могут быть задействованы в коде решения;
  2. Вызов хранимых процедур, с помощью которых могут формироваться различные активности для пользователя портала;
  3. Степень оптимизации производительности индекса.
Executing SQL Queries

Счетчик возвращает число текущих выполняемых SQL-запросов. Значение счетчика существенно зависит от специфики реализованного на портале функционала. Анализ значений должен обязательно проводиться с учетом специфики обработки контента: работа с базовыми списками и библиотеками, использование группировок и фильтров в представлении данных, полей подстановки, обращение к спискам с внешними данными, обработка запросов к внешним источникам данных или обработка списков с большим кол-вом элементов и многое другое.

Executing Time/Page Request

Счетчик возвращает среднее время выполнения (в мс) запросов веб-страниц, которые были обработаны за время сбора данных. Статистика включает данные о запросе динамических веб-страниц, построение которых обеспечивается ASP.Net.

Current Page Requests

Значение счётчика показывает количество текущих запросов, которые находятся в обработке. Они могут существенно отличаться в разные периоды и зависят от текущего кол-ва обращений к порталу SharePoint. Наиболее важным является анализ показаний в часы пиковой нагрузки в сочетании с показателями о среднем выполнении запросов веб-страниц (Executing Time/Page Request) и данных о числе текущих выполняемых SQL-запросов.

Reject Page Requests Rate

Процент отклонённых страниц при выполнении к ним запроса. Возвращаемое значение должно быть настолько низким, насколько это возможно, т.к. свидетельствует о том, что страницы не были запрошены из кэша и потребовали выполнения полного цикла запроса веб-страницы на сервере.

Incoming Page Requests Rate

Значение счетчика отображает о количестве входящих запросов за последнюю секунду. Аналогично Current Page Requests в привязке к строго определенному интервалу времени – 1с.

Active Threads

Счетчик возвращает число потоков, которое выполняется в коде SharePoint в настоящее время. Показатели зависят от многих факторов: процессор и его характеристики, показателей на базовые подсистемы (память, процессор, сеть, дисковые устройства), текущую нагрузку на портал. Инициация дополнительных потоков может быть инициирована программным образом в коде в составе решений под платформу SharePoint.

Пример показаний счетчиков SharePoint Foundation
SQL Query Executing time Executing SQL Queries Executing Time/Page Requests Current Page Request Reject Page Requests Rate Incoming Page Requests Rate IActive Threads
0,048 0,051 0,197 1,581 0 0,396 1,595

На основании средних значений показаний счетчиков SharePoint Foundation можно предположить, что в ходе эксплуатации корпоративного портала не наблюдается высокая нагрузка, связанная с обращениями пользователей к веб-серверу.

Мониторинг на SQL Server

Контроль дисковой подсистемы

Microsoft SQL Server использует вызовы системных функций ввода-вывода операционной системы Microsoft Windows Server для выполнения дисковых операций чтения и записи. SQL Server определяет, когда и как выполнять дисковые операции ввода-вывода, но базовые операции ввода-вывода выполняет операционная система Windows.
Далее описывается минимальный набор счетчиков, наблюдение за которыми рекомендуется включить в планы ежедневного обслуживания.

Физический диск\Среднее время чтения с диска (Physical Disk\Avg. Disk sec/read)

Время в секундах, затрачиваемое в среднем на одну операцию чтения данных с диска. Показывает среднее время выполнения операции чтения с диска. Базовые показатели данного счетчика не должны превышать 15 мс. Если время выполнения операций чтения в среднем превышает эту величину в течение достаточно продолжительного времени, то это может свидетельствовать о наличии проблем в устройстве ввода-вывода.

Физический диск\Среднее время записи на диск (Physical Disk\Avg. Disk sec/write)

Среднее время записи на диск — это время в секундах, затрачиваемое в среднем на одну операцию записи данных на диск. Базовые показатели данного счетчика не должны превышать 15 мс.

Счётчики «Среднее время чтения с диска», «Среднее время записи на диск» измеряют время ожидания непосредственно в той программной надстройке, где диски устройства хранения данных становятся доступны операционной системе. Они позволяют точно измерить, сколько времени диски и аппаратное окружение потратили на обслуживание запросов ввода-вывода независимо от того, какие были задействованы аппаратные и программные средства.

Для OLTP-систем среднее значение должно быть меньше 15 мс с допустимыми пиками до 25 мс. Чем меньше времени требуется для чтения или записи данных, тем быстрее будет функционировать система.

Контроль использования ЦП

Контроль экземпляра Microsoft SQL Server позволяет определить, находятся ли уровни загрузки ЦП в стандартных диапазонах. Постоянный высокий уровень использования ЦП может указывать на необходимость обновления ЦП или на необходимость добавления нескольких процессоров. Оптимизация работы приложения может снизить уровень загрузки ЦП. Процессорная система в наибольшей степени нагружается операциями:

  • компиляции и рекомпиляции планов выполнения;
  • сортировки;
  • хеширования.
<Экземпляр SQL Server>SQL Statistics\SQL Compilations/sec

Компиляций SQL, выполненных за секунду. Указывает число раз, когда вводился путь компиляции кода. Включает операции компиляции, вызванные повторной компиляцией на уровне инструкций в SQL Server. Объект SQL Server «статистика SQL в Microsoft SQL Server» обеспечивает работу счетчиков для наблюдения компиляции и типов запросов, отправляемых экземпляру SQL Server. Наблюдение за числом компиляций и повторных компиляций запросов и числа пакетов, полученных экземпляром SQL Server, дает представление о том, как быстро SQL Server выполняет запросы пользователей и насколько эффективно их обрабатывает оптимизатор запросов. Компиляция занимает в обработке запроса значительную часть времени. Чтобы сэкономить на стоимости компиляции, компонент Database Engine сохраняет компилированный план запроса в кэше запросов. Целью кэширования является снижение числа компиляций путем сохранения уже откомпилированных запросов для дальнейшего повторного использования, избавляя от необходимости повторной компиляции аналогичных запросов, которые могут поступить позже. Однако каждый уникальный запрос должен быть скомпилирован хотя бы однажды. Компиляция запросов может быть вызвана следующими факторами:

  • Изменением схемы, включая базовые изменения (добавление в таблицу столбцов или индексов) или статистической схемой (вставка или удаление значительного числа строк в таблице);
  • Изменением среды (инструкцией SET). Изменениями параметров сеанса (например, повторную компиляцию запроса может вызвать предложение ANSI_PADDING или ANSI_NULLS).
<Экземпляр SQL Server>SQL Statistics \Batch Requests/sec

Счетчик указывает количество получений потоков из планировщиков операционной системы (не из планировщиков SQL) для выполнения операций для других потоков в состоянии ожидания. Для счетчика «Batch Requests/sec» используется пороговое значение, приблизительно в 5000 раз большее количества процессоров в сервере. Это значение также может быть высоким в системах с включенной гиперпоточностью и невысокой загрузкой ЦП.

<Экземпляр SQL Server>SQL Statistics\SQL ReCompilations/sec

Среднее число рекомпиляций в секунду. Чем меньше значение этой характеристики, тем лучше.

<Экземпляр SQL Server>Access Methods\Workfiles Created/sec. Workfiles

Workfiles — это часть страниц файла данных, выделенных для внутренних нужд SQL Server. SQL Server активно использует Workfiles для выполнения операций хеширования и хранения промежуточных результатов хеширования. Большое количество создаваемых Workfiles может косвенно указывать на отсутствие индексов, которые может использовать SQL Server для выполнения операций соединения таблиц, в результате чего он вынужден выполнять соединения таблиц через хеширование. Норма на соотношение Workfiles Created/sec к Batch Requests/sec составляет не более 20%. Workfiles создаются во временной базе для обработки запросов, которые слишком велики для размещения в оперативной памяти.

Процессор\Длина очереди процессора (Processor\Processor Queue Length)

Показывает количество потоков, ожидающих выполнения на процессоре. Управление работой SQL Server осуществляется с помощью планировщиков в механизме СУБД, где сервер помещает в очередь и обрабатывает собственные запросы. Поскольку работа SQL Server управляет им самим, он использует только один поток ЦП для каждого логического процессора. Это означает, что в очереди процессора системы, предназначенной для SQL Server, должно находиться минимальное количество потоков.

Пример показаний счетчиков мониторинга ЦП
Batch Requests
/sec
SQL Compilations
/sec
SQL ReCompilations
/sec
Workfiles Created
/sec
Processor Queue Length
19,998 0,675 0,006 1,267 0,151

Расчет значений, на основании которых можно выявить одну из предпосылок перегрузки процессоров:

  • Соотношение между SQL Compilations/sec и Batch Requests/sec
    0,6/19 = 0.03
    Показывает, что в 3% случаев выполнения процедур выполняются компиляции новых запросов. Это говорит о том, что в БД присутствует минимальное число динамических запросов. Рекомендуемое значение SQL Compilations/sec должно составлять менее 10% от значения Batch Requests/sec. Показатель в пределах нормы.
  • Соотношение между SQL ReCompilations/sec и SQL Compilations/sec
    0,006/0,6 = 0.01
    Показывает, что в 1% случаев выполняется повторная компиляция ранее скомпилированных запросов. Рекомендуемое значение SQL Recompilations/sec должно составлять менее 10% от значения SQL Compilations/sec. Показатель в пределах нормы.
  • Соотношение между Workfiles Created/sec и Batch Requests/sec
    1/19 = 0.05
    Показатель в пределах нормы.

Мониторинг использования памяти

Максимальный размер выделяемой памяти

По умолчанию, SQL Server изменяет свои требования к памяти динамически, исходя из доступных ресурсов системы.

Если SQL Server нужно больше памяти, он производит запрос к операционной системе, чтобы определить, доступна ли свободная физическая память, и использует ее. Если же SQL Server не нуждается в памяти, выделенной для него, он освобождает ее для операционной системы. Нужно отказаться от динамического использования памяти, так как при достижении порога Memory: Available Bytes в 100. 50 MB Windows включит агрессивный сброс (trimming) рабочих наборов процессов, включая системные драйверы, что приведет к резкому снижению производительности всех компонентов ОС. Чтобы избежать данной проблемы на сервере СУБД нужно задать значения параметрам конфигурации сервера Min Server Memory и Max Server Memory.

Далее в описании приводятся расчеты на одном из реальных примеров SQL Server, совмещающего два экземпляра SQL, один из которых выделен под базы данных SharePoint.

Существующему экземпляру b6s SQL выделено 2147483647 Mb, то есть SQL Server доступна вся память сервера – 96 GB.

Для расчета Max Server Memory применяется следующая (для не кластерного SQL Server) формула:

SQL максимальный размер ОЗУ = TotalPhyMem — (NumOfSQLThreads * ThreadStackSize) — (1GB * ОКРУГЛВНИЗ(NumOfCores/4)) — RAMOSReserved — RAMForOtherApps, где:

  • TotalPhyMem – общий физический размер ОЗУ на сервере.
  • NumOfCores – кол-во ядер процессоров.
  • NumOfSQLThreads – кол-во потоков, использующихся на сервере для обработки запросов к базам данных. При кол-ве ядер до 4 значение NumOfSQLThreads всегда постоянно и равно 256. При кол-ве ядер свыше 4 расчет выполняется по формуле: NumOfSQLThreads = 256 + (NumOfCores- 4) * 8.
  • ThreadStackSize = 2Мб для серверов x64. Для серверов IA64 ThreadStackSize=4Мб.
  • RAMOSReserved – ОЗУ для операционной системы. 20% для серверов с TotalPhyMem не более 15 Гб и 12,5% для большего объема.
  • RAMForOtherApps – ОЗУ для других экземпляров SQL-сервера и приложений.

Получить информацию о процессорах и размере физической памяти на сервере можно при помощи следующего скрипта:

Для b6s расчеты будут следующими:

  • TotalPhyMem = 98276 Мб.
  • NumOfCores = 32.
  • NumOfSQLThreads = 256 + (32- 4) * 8 = 480.
  • ThreadStackSize = 2 Мб.
  • RAMOSReserved = 12,5% * 98276 Мб = 11793 Мб.
  • RAMForOtherApps – Заказчик должен самостоятельно определить это значение. В текущих расчетах предполагаем значение в 8 000 Мб на второй экземпляр SQL.

Таким образом, размер буферного пула (при соответствующем значении «Max Server Memory») может вырасти до 69331 MB, тем самым, не влияя на работу операционной системы.

Далее приводится описание счетчиков для мониторинга памяти, используемой SQL Server, наблюдение за которыми рекомендуется включить в ежедневный мониторинг.

<Экземпляр SQL Server>Memory Node\Target Server Memory

Данные счетчика предоставляют информацию об идеальном объеме памяти, необходимом серверу.

<Экземпляр SQL Server> Memory Node \Total Server Memory

Данные счетчика предоставляют информацию об объеме памяти, выделенной серверу диспетчером памяти. Если Total Server Memory меньше Target Server Memory является признаком нехватки памяти.

<Экземпляр SQL Server>Buffer Manager\Buffer cache hit ratio

Доля страниц, обнаруженных в буферном кэше без чтения с диска. Это значение определяется как общее число попаданий в кэше, деленное на количество уточняющих запросов кэша за последние несколько тысяч операций доступа к страницам. По прошествии длительного периода это соотношение изменяется очень слабо. Так как чтение из кэша выполняется гораздо быстрее, чем с диска, следует стремиться к наибольшему значению этого показателя.

<Экземпляр SQL Server>Buffer Manager\Page Life Expectancy

Указывает среднее время жизни страниц в буферном пуле. Пороговое значение — не менее 300 секунд.

<Экземпляр SQL Server>Memory Manager\Memory Grants Pending

Указывает общее число процессов, ожидающих предоставления памяти рабочей памяти.

Пример показаний счетчиков мониторинга использования памяти
Target Server Memory (КiВ) Total Server Memory (КiВ) Buffer cache hit ratio Page Life Expectancy Lazy Writes
/sec
Memory Grants Pending
5312958 3683571 99,92% 9 905 712 10,739 0,018

Значения, находятся в приделах нормы, но следует отметить тот факт, что Total Server Memory меньше Target Server Memory. Обычно это признак нехватки памяти, но в данном случае ситуация выглядит иначе, так как SQL Server запрашивает память по мере необходимости. Если требования к памяти незначительны, то Total Server Memory останется намного ниже, чем Target Server Memory. Требования к памяти SQL Server для MS SharePoint Foundation 2013 – 8-16 GB для использования в производственной среде в ферме с одним сервером (подробнее здесь). Таким образом, на текущий момент увеличение памяти на сервере СУБД не требуется.

Если вы добрались до конца текста, значит, вы действительно глубоко копаете в теме администрирования SharePoint Server. Вероятно, у вас могут быть вопросы, которые остались за рамками этого текста. Не стесняйтесь задавать их в комментариях.

Мониторинг загрузки оборудования в Windows или почему тормозит 1С?

Раннее я уже писал о Системном мониторе и Сборщиках данных загруженности оборудования в операционных системах семейства Windows. В данной статье на примере работы программ системы «1С:Предприятие» версии 8 рассмотрим, где и какие счетчики необходимо включать в замер производительности, а также попробуем проанализировать полученную информацию и сделать соответствующие выводы (данная статья будет полезна не только в случае анализа работы системы «1С:Предприятие» на текущем оборудовании, но и в целом для мониторинга загруженности серверов под управлением Windows).

0. Оглавление

1. Где и зачем вести мониторинг?

Прежде чем приступать к настройке мониторинга загрузки оборудования системы, необходимо понять, является ли сервер, где планируется вести замер, виртуальным? В случае работы с виртуальными машинами замер следует вести как на самом виртуальном сервере так и на физической машине. Т. к. возможна ситуация, когда счетчики производительности на виртуальном сервере не будут фиксировать значительную нагрузку оборудования, когда как физический сервер может быть загружен «соседними» виртуальными машинами или собственными работающими службами. И наоборот, анализ только физического сервера не даст четкого понимания о загрузке виртуальной машины. Только сопоставив данные замера физического и виртуального серверов можно сделать правильные выводы о загруженности оборудования.

В случае анализа загруженности серверов, на которых работают компоненты системы «1С:Предприятие» прежде всего необходим мониторинг:

  • Сервера баз данных
  • Серверов, на которых запущен кластер серверов «1С:Предприятия»
  • В редких случаях сервера терминалов, если такой имеет место быть

2. Основные счетчики производительности

Приведем примеры основных счетчиков производительности, разбив их по типу исследоваемого оборудования (для разных версий Windows названия счетчиков могут немного отличаться).

2.1 Процессоры

Для анализа загруженности процессоров системы, как правило, достаточно 2 счетчиков производительности:

Счетчик (рус.) Счетчик (англ.)
Описание Критерий достаточной производительности
\Процессор(_Total)\% загруженности процессора \Processor(_Total)\% Processor Time
% загруженности процессора — это доля времени, которую процессор тратит на обработку всех потоков команд, кроме простаивающего. Это значение равно разнице между 100 % и процентом времени, которое процессор затрачивает на выполнение простаивающего потока. Этот счетчик является основным показателем загруженности процессора. Он показывает среднее значение занятости процессора в течение интервала измерения. Не более 70% в течение длительного времени
\Система\Длина очереди процессора \System\Processor Queue Length
Длина очереди процессора — это текущая длина очереди процессора, измеряемая числом ожидающих потоков. Все процессоры используют одну общую очередь, в которой потоки ожидают получения циклов процессора. Этот счетчик не включает потоки, которые выполняются в настоящий момент. Этот счетчик отражает текущее значение, и не является средним значением по некоторому интервалу времени. Не более 2 * количество ядер процессоров в течение длительного времени

Для того, чтобы точно оценить, достаточно ли процессорных мощностей на сервере, может также понадобиться счетчик потоков.

Счетчик (рус.) Счетчик (англ.)
Описание Критерий достаточной производительности
\Система\Потоки \System\Threads
Счетчик потоков — это количество потоков в компьютере в момент сбора информации. Данный показатель представляет собой конкретное текущее значение, и не является средним значением по некоторому интервалу времени. Поток — это базовый занятости процессора в течение интервала измерения.
2.2 Оперативная память

Для анализа достаточности / нехватки оперативной памяти на рабочем сервере, как правило, применяют 2 следующих счетчика:

Счетчик (рус.) Счетчик (англ.)
Описание Критерий достаточной производительности
\Память\Доступно МБ \Memory\Avalible Mbytes
Доступно МБ — это объем физической памяти в мегабайтах, немедленно доступной для выделения процессу или для использования системой. Эта величина равна сумме памяти, выделенной для кэша, свободной памяти и обнуленных страниц памяти.
\Память\Обмен страниц/с \Memory\Pages/sec
Обмен страниц/сек — это число страниц, прочитанных с диска или записанных на диск. Эта величина является суммой величин Ввод страниц/сек и Вывод страниц/сек, и включает страничный обмен (подкачку) системной кэш-памяти для доступа к файлам данных для приложений. Кроме того, сюда включается страничный обмен (подкачка) для не кэшированных файлов, непосредственно отображаемых в память. Не более 20
2.3 Жесткие диски
Счетчик (рус.) Счетчик (англ.)
Описание Критерий достаточной производительности
\Физический диск()\Средняя длина очереди диска \Physical Disk()\Avg. Disk Queue Length
Средняя длина очереди диска — это среднее общее количество запросов на чтение и на запись, которые были поставлены в очередь для соответствующего диска в течение интервала измерения. Не более 2 * количество дисков, работающих параллельно
\Физический диск()\Среднее время записи на диск (с) \PhysicalDisk()\Avg. Disk Sec/Write
Среднее время записи на диск — это время в секундах, затрачиваемое в среднем на одну операцию записи данных на диск.
\Физический диск()\Среднее время чтения с диска (с) \PhysicalDisk()\Avg. Disk Sec/Read
Среднее время чтения с диска — это время в секундах, затрачиваемое в среднем на одну операцию чтения данных с диска.
2.4 Сетевые интерфейсы

Для каждого из используемых сетевых адаптеров на сервере можно скорость передачи данных через сеть с помощью следующего счетчика:

Счетчик (рус.) Счетчик (англ.)
Описание Критерий достаточной производительности
\Сетевой адапетер\Всего байт/с \Network Interface\Bytes Total/sec
Всего байт/с — это скорость, с которой происходит получение или посылка байт через сетевые адаптеры, включая символы обрамления (framing characters). Данный счетчик является суммой счетчиков Сетевой интерфейс\Получено байт/с и Сетевой интерфейс\Отправлено байт/с. Не более 65% от пропускной способности сетевого адаптера

Смотрите также:

При попытке установить типовую конфигурацию системы «1С:Предприятие» 7.7 в 64-разрядных операционных системах вместо необходимых каталогов с информационными базами увидим ошибку: «Версия этого файла несовместима с используемой версией Windows. С помощью сведений о…

Установка платформы 1С:Предприятие 7.7 на 64-х битную операционную систему сопряжена с некоторыми трудностями. Дело в том, что установить 1С через обычный установщик не получится, даже если запускать программу в режиме…

По умолчанию поиск в Windows (в данном примере в Windows 7) ищет файлы по имени. Содержимое учитывает только в проиндексированных расположениях. Чтобы поиск искал по содержимому всех документов, нужно изменить…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *