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

  • Tutorial
Здравствуйте! Меня зовут Любовь Волкова, я системный архитектор департамента разработки бизнес-решений. Основная моя специализация — внедрение, разработка решений, техническая поддержка корпоративных порталов 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
    Показатель в пределах нормы.

Batch Requests/sec Отношение SQL Compilations/sec к Batch Requests/sec Отношение SQL ReCompilations/sec к SQL Compilations/sec Отношение Workfiles Created/sec к Batch Requests/sec
Средний показатель в рассматриваемой системе в рабочее время 0,034 0,01 0,06
Рекомендуемое значение показателя Не более 0.1 Не более 0.1 Не более 0.2
Выполняемость рекомендаций в рассматриваемой системе да да да

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


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


По умолчанию, 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-сервера и приложений.



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

SELECT cpu_count AS [Logical CPU Count] 
, hyperthread_ratio AS [Hyperthread Ratio] 
, cpu_count / hyperthread_ratio AS [Physical CPU Count] 
, osi.physical_memory_kb / 1024 AS [Physical Memory (MB)] 
, sqlserver_start_time
FROM sys.dm_os_sys_info as osi;

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

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

SQL максимальный размер ОЗУ = 98276 Мб — (480 * 2 Мб) — (1GB * ОКРУГЛВНИЗ(32/4)) — 11793 Мб- 8000 Мб = 98276 Мб — 960 Мб – 8192 Мб — 11793 Мб- 8000 Мб = 69331 Мб.

Таким образом, размер буферного пула (при соответствующем значении «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. Вероятно, у вас могут быть вопросы, которые остались за рамками этого текста. Не стесняйтесь задавать их в комментариях.
Softline
Компания

Комментарии 12

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

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

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


    А что делать если это не одиночный диск? Или к примеру это вообще виртуальный диск? Какая тогда длинна очереди может считаться нормой?
      0
      А что делать если это не одиночный диск?

      Грубая оценка — 2*количество дисков. Но вообще лучше просто смотрите на другие показатели, latency в первую очередь, объективно вас ведь не очередь как таковая интересует, а скорость работы (единственное что — тут надо иметь заранее померенную точку отсчета при слабой нагрузке).

        0
        Все рекомендации, данные в статье необходимо рассматривать строго в контексте платформы SharePoint, работающей по особым правилам. Сервера SharePoint (Web Front End, Application и др.), — это, прежде всего, веб-приложения ASP.Net, обеспечивающих обработку серверного кода. Требования к настройке параметров виртуальной памяти, — это не прихоть, а необходимость, основанная на сообенностях хранения и обработки данных в ходе работы веб-приложений. Более того, проверка правила соответствия настроек указанным мною рекомендациям реализована анализатором работоспособности, сообщения которого вы можете найти в Центре Администрирования. Ссылки для более подробной информации: SharePoint Health Analyzer rules reference, KB-статья.
          0
          RAID-массивы часто включают в себя большое количество дисков, обеспечивая работу с ними как с едиными диском с точки зрения конечного пользователя, высокий уровень отказоустойчивости и производительности. Для RAID-массивов первоначальным ориентиром должна служить длина очереди, менее чем в 1,5-2 раза больше количества шпинделей в массиве.
          Обращу особое внимание на то, что показания данного счетчика нельзя рассматривать в отрыве от других. Наиболее важным дополнительным показателем являются данные о задержках Более подробную информацию можно получить, например, здесь и здесь.
          0
          Файл подкачки

          Эти рекомендации по файлу подкачки кочуют из гайда в гайд десятки лет, вы можете объяснить, ЗАЧЕМ? Ну ладно, 25 лет назад ОЗУ была роскошью, но сейчас-то? Файл подкачки размером с ОЗУ, серьезно? Даже если у меня ОЗУ сотни гиг? Да если он хотя бы частично будет использоваться, пользователи просто сожрут IT-отдел из-за адских тормозов. Вы можете привести хоть какой-то реальный кейс, когда это нужно?

            0
            Все рекомендации, данные в статье необходимо рассматривать строго в контексте платформы SharePoint, работающей по особым правилам. Сервера SharePoint (Web Front End, Application и др.), — это, прежде всего, веб-приложения ASP.Net, обеспечивающих обработку серверного кода. Требования к настройке параметров виртуальной памяти, — это не прихоть, а необходимость, основанная на сообенностях хранения и обработки данных в ходе работы веб-приложений. Более того, проверка правила соответствия настроек указанным мною рекомендациям реализована анализатором работоспособности, сообщения которого вы можете найти в Центре Администрирования. Ссылки для более подробной информации: SharePoint Health Analyzer rules reference, KB-статья.
              0

              Я не зря спросил про реальные кейсы. Вы можете показать счетчики производительности с нагруженного сервера с хотя бы десятками гиг ОЗУ, где файл подкачки рекомендуемого размера активно используется хотя бы наполовину, и при этом сервер не испытывает проблем с производительностью? Мне действительно интересно.


              в контексте платформы SharePoint, работающей по особым правилам.

              В чем конкретно заключается эта "особость" в контексте работы именно с виртуальной памятью и файлом подкачки? Подсистема памяти Windows как-то по особенному отрабатывает запросы именно от Sharepoint?


              Вот давайте на примере — есть у меня сервер с сотней гиг ОЗУ. Я последовал рекомендациям и выставил файл подкачки в ту же сотню гиг. По мониторингу объем свободной физической памяти не менее 50%, своп практически не используется. Я беру и выставляю ему размер в 2 гига с возможностью роста до десяти. Что будет с моим сервером, станет ли он работать хуже, если да — то почему, если с использованием файла подкачки ничего не поменялось?


              Дальше у меня растет нагрузка, и в один прекрасный момент я вижу, что свободной физической памяти становится менее 20%. Я не собираюсь ждать, пока всё встанет колом, и удваиваю объем ОЗУ. Должен ли я также удвоить своп? Что, после того, как ПО получило в свое распоряжение удвоенный объем ОЗУ, оно и в своп в два раза больше писать начнет? По какой причине? Можете показать, что это действительно так на практике?


              А если (ну вдруг) у меня all-flash СХД и блейды, в каждом из которых полтерабайта ОЗУ, грузятся с неё же, я точно должен выбрасывать в помойку под блейд, где будет крутиться Sharepoint, эти самые полтерабайта? Зачем? Как это место будет использоваться?


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

                0
                На практике в фермах на SharePoint-серверах обычно 16-24-32 Гб ОЗУ. Очень редко на серверах приложений 48 ГБ и крайне редко 64 Гб (за всю практику лишь один или два раза столкнулась). О сотнях ГБ ОЗУ и речи не идет. Вопрос масштабирования и распределения нагрузки на практике успешно решается добавлением дополнительных серверов с ролями (Web Front End, Web application и/или другими в зависимости от того, какого рода нагрузку желают распределить, — обработку обращений пользователей, увеличить производительность работы конкретного приложения-службы и т.д.). Соответственно, случай огромных размеров файла подкачки исключим из обсуждения.
                Использование файла подкачки всегда будет наносить ущерб производительности ввиду того, что скорость работы с ОЗУ существенно превышает работу с дисковой подсистемой.

                Многочисленные службы и компоненты SharePoint (веб-приложение корпоративного портала, процессы, обеспечивающие работу службы поиска, службы Excel, системные задания и др.) активно работают с данными и используют память. Платформа SharePoint, действительно, имеет свои особенности, связанные с тем, что это ASP.Net x64 веб-приложение (в основе .Net Framework 4.x), что означает вполне конкретную архитектуру, важным компонентом которой является среда исполнения кода (CLR). CLR использует специализированные механизмы управления выделением и перераспределением сегментов виртуальной памяти. Работа служб, компонентов, обработка пользовательских запросов на портале, — все эти действия связаны с обработкой серверного кода, содержащего обращение к всевозможным объектам внутри этого кода. Даже в случае отсутствия утечек памяти ввиду ошибок в коде, допущенных разработчиками, удаление объектов из оперативной памяти специальным компонентом CLR, — сборщиком мусора, — не гарантирует моментальное освобождение сегментов памяти. Существует временной разрыв между двумя этими операциями из-за особенностей работы сборщика мусора. С учетом особенностей работы служб и компонентов SharePoint, CLR Майкрософт рекомендует размер файла подкачки и его размер – не мене 100% от размера ОЗУ, что связано с тем, что при таком соотношении сборщик мусора меньше использует управляемую память и меньше нагружает ЦП.

                Средства ОС Windows Server позволяют настроить параметры виртуальной памяти так, чтобы вообще не использовался файл подкачки. Да, вы можете увеличить объем ОЗУ, оставив без изменений ранее установленный размер файла подкачки. Поддерживать всегда соотношение 1:1 или 1:1,5 не является строго обязательным для всех без исключений размеров ОЗУ на серверах SharePoint и носит рекомендательный характер. В случае, если файл подкачки не используется или его размер минимален, у ОС теряется всякая возможность выгружать данные неактивных процессов из ОЗУ на диск и возврат обратно при продолжении работы с нею или она серьезно ограничена. Наличие файла подкачки позволяет более управлять размещением данных, востребованных в тот или иной момент времени, обеспечивая более эффективное использование быстродействующей ОЗУ в случае возникновения потребностей приложений, превышающих объем этой ОЗУ.
                  +1
                  Приведу пару типовых ситуаций из практики, когда активно использовался файл подкачки, обеспечивший возможность продолжить работу с корпоративным порталом вместо сбоя в работе отдельных компонентов или сервисов:

                  Пример 1. Ресурсоемкие операции загрузки файлов больших размеров, воспроизведение видео на портале, обход контента службой поиска, кастомные решения, связанные с обработкой списков и библиотек с большим кол-вом элементов/файлов и многие другие нередко приводят к резким всплескам объемов используемой памяти. В одно прекрасное утро HR разместили новость, содержащую видео длительностью около 10 мин на главной странице портала, с утра практически одновременно ее решили просмотреть порядка 600 человек, при этом ввиду ошибки в действиях системного администратора в тот же период времени был запущен полный обход контента службой поиска, обычно занимавший 2-2,5 часа. При этом сервис новостей являлся бизнес-критичным, т.к. публиковались выступления топ-менеджеров, знакомство с которыми должно было проходить в течение 1-2 дней после публикации. Ранее работа портала была стабильна и особых проблем не возникало, на серверах по 16 Гб ОЗУ. За счет наличия файла подкачки внезапный всплеск нагрузки прошел почти безболезненно, сервис продолжил работу. Были отдельные обращения о снижении скорости работы на портале. У системного администратора была возможность проанализировать причины и остановить обход.

                  Пример 2. Более 15 000 пользователей портала, активно осуществляющих поиск по порталу. Этот сервис бизнес-критичный. В системе развернули несколько новых решений под SharePoint, работа которых была связана с обработкой больших списков (содержащих большое кол-во элементов). Ввиду особенностей выделения сегментов памяти CLR и сборки мусора приложениями ASP.Net возможны ситуации постепенного нарастания зарезервированных объемов памяти, требуемые для работы одного и того же приложения, проявляющиеся постепенно, и нарастающие со временем. С точки зрения конечных пользователей это проявляется, как правило, в постепенном снижении производительности при работе на корпоративном портале. В корпоративной сети применили новую групповую политику, в результате чего были урезаны в правах некоторые учетные записи. Каких-либо ошибок не наблюдалось при работе на портале, но решения предусматривали дополнительные действия и ведение журналов и запись сообщений об ошибках при возникновении исключений. Оперативно увеличить объем ОЗУ не представлялось возможным, клиенту обратился с просьбой оперативно выяснить у устранить причины заметного снижения производительности работы на портале. Время на коммуникации плюс время на работу специалиста на анализ причин, плюс внесение изменений в настройки AD. Весь этот временной промежуток работа пользователей на корпоративном портале продолжалась.
                  150%, указанное мною и рекомендуемое Майкрософт, на практике хорошо себя зарекомендовали. Обычно этих пределов достаточно для того, чтобы выиграть время и принять решение относительно какой-то внештатной ситуации. Подчеркну, что эта рекомендация дана в привязке к типовым размерам ОЗУ на серверах SharePoint (16-24-32).
                    +1

                    Спасибо, теперь немного понятнее.

              0
              Про SQL\Buffer hit ratio и Page life expectancy поспорю. На современных версиях (фактически, после SQL 2005) коэффициент попадания в кэш почти всегда крутится в районе 95-99% и по нему практически невозможно понять, есть ли какие-то проблемы с кэшем

              PLE, наоборот, наглядно показывает, когда место в кэше закончилось — он просто резко обрывается вниз. При этом он может не падать до пресловутых 300 мс, но все равно показывать «пилу» — это означает, что данные постоянно вымываются из кэша. Поэтому рекомендуется смотреть не на абсолютное значение этого показателя, а на его динамику — если он постоянно обрывается, у вас явно не хватает памяти для кэша (buffer pool) и надо либо увеличивать место (т.е. добавлять памяти), либо заниматься тем, что в этот кэш помещается — т.е. оптимизировать запросы так, чтобы они делали меньше избыточных чтений
              Подробнее, например, тут
                0
                Соглашусь, что показания счетчика Buffer Cache Hit Ratio, как правило, стабильны. В мониторинг рекомендуем включать для того, чтобы иметь возможность фиксировать реальную проблему, — падение значения ниже 90-95%. Наиболее важный показатель, действительно, Page Life Expectancy. 300 мс – это базовый ориентир для показания этого счетчика. В данной конкретной системе он может отличаться, но значения показателя должны быть стабильны во времени. Любые серьезные скачки не должны оставаться без внимания. В дополнение к приведенной в комментарии ссылке добавляю еще одну.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое