Skip to content

Логические чтения против физических

Пересказ статьи Erik Darling. Logical vs Physical Reads


В процессе


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

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

Полезно посмотреть на сценарии с прослушиванием параметров (parameter sniffing), поскольку один и тот же запрос может иногда выполнять много чтений, а иногда - нет. Но в то же время этот запрос будет также иногда интенсивно использовать ЦП, а иногда - нет.

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

Физические


Запросы - и серверы в целом - которые имеют высокое число физических чтений - это другая история.

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

  • Достаточно ли памяти, чтобы кэшировать ваши объекты, к которым наиболее часто происходит доступ?

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

  • Есть ли у вас слишком много ненужных индексов, конкурирующих за пространство в буферном пуле и выталкивающих один другого?


Выяснить это может быть непросто, но можно упростить с помощью хорошего инструмента мониторинга.

Грамотность


Статистика ожидания - это то, что разделяет серверы, на которых запросы выполняют много логических операций чтения, и серверы, выполняющие много физических операций чтения.

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

Обратные ссылки

Нет обратных ссылок

Комментарии

Показывать комментарии Как список | Древовидной структурой

Нет комментариев.

Автор не разрешил комментировать эту запись

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

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Добавленные комментарии должны будут пройти модерацию прежде, чем будут показаны.