Статистика и виды ожиданий. День № 11 (ASYNC_IO_COMPLETION)

Статистика и виды ожиданий. День № 11 (ASYNC_IO_COMPLETION)«ASYNC_IO_COMPLETION»

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

Из Book On-Line:

Имеет место, когда для своего завершения задача ожидает ввода-вывода.

Объяснение:

Любые задания ожидают завершения I/O. Если SQL Server очень медленно обрабатывает данные и клиенты ожидают их, то счётчик ASYNC_IO_COMPLETION будет увеличиваться. Так же это ожидание провоцируется Backup, созданием и редактированием баз данных.

 

Уменьшение ASYNC_IO_COMPLETION ожиданий:

1. Посмотрите на код и найдите там не оптимальные участки, по возможности перепишите их
2. Надлежащим образом, на разных дисках, разместите файлы журналов (LDF) и файлы данных (MDF), Tempdb на другом отдельном диске, часто используемые таблицы в разных файловых группах и на разных дисках.
3. Проверьте статистику использования файлов баз данных, обратите внимание на IO Read Stall и IO Write Stall (fn_virtualfilestats)
4. Проверьте файл логов на наличие ошибок Диска
5. Если вы используете SAN (сетевое хранилище данных), то необходимо правильно настроить параметр HBA Queue Depth, почитать о котором можно в интернете
6. Проверьте наличие нужных индексов
7. Проверьте показания следующих счётчиков Perfomance Monitor
SQLServer: Memory Manager\Memory Grants Pending (Постоянное значение более чем 0-2 свидетельствует о проблеме)
SQLServer: Memory Manager\Memory Grants Outstanding
SQLServer: Buffer Manager\Buffer Hit Cache Ratio (Чем больше, тем лучше. Обычно значение долго превышать 90%)
SQLServer: Buffer Manager\Page Life Expectancy (плохо, когда ниже 300)
Memory: Available Mbytes
Memory: Page Faults/sec
Memory: Pages/sec
Average Disk sec/Read (Постоянное значение более чем 4-8 мс свидетельствует о проблеме)
Average Disk sec/Write (Постоянное значение более чем 4-8 мс свидетельствует о проблеме)
Average Disk Read/Write Queue Length

Заметка: Представленная тут информация является только моим опытом. Я настраиваю, чтобы вы читали Books On-Line. Все мои обсуждения ожиданий здесь носят общий характер и изменяются от системы к системе. Я рекомендую сначала тестировать всё на сервере разработки, прежде чем применять это на рабочем сервере.

Читайте все посты этой серии

Автор: Pinal Dave

***   ***   ***   ***   ***   ***   ***   ***   ***   ***   ***   ***
Полезные Скрипты

Рубрика Проверь себя

Ссылка на наш канал YouTube

Запись опубликована в рубрике Cтатистика и виды ожиданий (Wait Stats and Wait Types) с метками . Добавьте в закладки постоянную ссылку.

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

Войти с помощью: