Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ASYNC_NETWORK_IO  [new]
munster
Member

Откуда:
Сообщений: 36
Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Dec 10 2010 10:38:40 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

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

ASYNC_NETWORK_IO 321181 65.13
CXPACKET 45713 9.27
BACKUPTHREAD 21987 4.46
PAGEIOLATCH_SH 21678 4.40
BACKUPIO 21526 4.37
OLEDB 17711 3.59
LCK_M_IS 11679 2.37
PAGEIOLATCH_EX 10373 2.10
IO_COMPLETION 4249 0.86
SQLTRACE_BUFFER_FLUSH 3564 0.72

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

P.S. Сеть гигабит - проверено, Драйвера обновлены

хочу понять какие запросы обрабатываются медленно. и вот тут у меня затык. вопросы:
1) можно ли использовать какой нить счетчик (для алерта) чтобы найти отследить, что приводит к такому поведению
2) как на скуле найти запрос приводящий к задержкам. порекомендовали выполнять запрос

SELECT st.text AS [SQL Text],
w.session_id,
w.wait_duration_ms,
w.wait_type, w.resource_address,
w.blocking_session_id,
w.resource_description FROM sys.dm_os_waiting_tasks AS w
INNER JOIN sys.dm_exec_connections AS c ON w.session_id = c.session_id
CROSS APPLY (SELECT * FROM sys.dm_exec_sql_text(c.most_recent_sql_handle))
AS st WHERE w.session_id > 50
AND w.wait_duration_ms > 0

но он ничего не показывает. видимо нет задежек
29 июл 12, 13:12    [12931004]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
munster
Member

Откуда:
Сообщений: 36
Опять же, на сервере несколько баз. как понять от какой базы идут задержки. вижу, что задержки растут но не пойму куда смотреть - куда копать
29 июл 12, 13:24    [12931031]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
munster
у вас результаты запроса медленно перекачиваются на клиента. Запрос сам на сервере отработал шустро, а результаты качаются и качаются.
Это кто такой диагноз поставил?
29 июл 12, 13:34    [12931061]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
munster
Member

Откуда:
Сообщений: 36
Это не конкретно диагноз для моей проблемы, это одна из причин, которую часто приводят в ответах на аналогичную моей проблеме.
но вопрос все же остается: как узнать какая база и какие именно запросы приводят к такому результату?
29 июл 12, 16:31    [12931446]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
munster,

Анализируйте все столбцы sys.dm_os_wait_stats, а не один -- тогда поймете, что не там ищите.
Выяснять причины низкой производительности запроса надо с анализа плана выполнения.
29 июл 12, 16:42    [12931467]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
munster
Member

Откуда:
Сообщений: 36
invm,

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

LAZYWRITER_SLEEP 15706051 1126820250 33702437 517859
ASYNC_NETWORK_IO 59363923 321230187 2109 531218
CXPACKET 6019671 49817968 3348875 2799156
BACKUPTHREAD 124 21987203 5556546 0
PAGEIOLATCH_SH 5748643 21907171 4984 28359
BACKUPIO 29600933 21526968 921 31515
OLEDB 173101320 17711500 60187 0

смотреть план выполнения запроса? хорошо - но как понять на какой базе смотреть если их несколько?
опять же как отловить запрос который к этому приводит? мониторить и каждую секунду обновлять счетчики задержек в ожидании что счетчик увеличится и сразу останавливать трассировку и смотреть? как то неправильно \ нелогично чтоли.
29 июл 12, 20:57    [12931896]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
invm
Member

Откуда: Москва
Сообщений: 9825
http://www.techdays.ru/videos/3677.html
29 июл 12, 21:42    [12931984]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
step_ks
Member

Откуда:
Сообщений: 936
munster, мониторьте для начала профайлером запросы с фильтром по пороговому duration. А в ожиданиях в любом случае что-то будет в топе.
29 июл 12, 22:05    [12932052]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
munster
Member

Откуда:
Сообщений: 36
Отвечаю самому себе - четкого ответа не нашел, но принцип понятен искать запросы с большим duration и смотреть план запроса.
в моем случае нашлись запросы по таблицам без нужного индекса и порядка 200-300 раз выкачивалась постоянно таблица в 170 MB.
нужный индекс решил ускорил производительность и убрал задержки
4 авг 12, 20:24    [12962788]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35375
Блог
munster,

как-то странно, если бы индексов не было, то основные задержки были бы типа PAGEIOLATCH
4 авг 12, 21:24    [12962998]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
Критик 2
Guest
М.б. статистика "испорчена" сетевыми бэкапами ?
Backup Exec, MS DPM, ... ?
4 авг 12, 23:36    [12963335]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
munster
Member

Откуда:
Сообщений: 36
Критик 2,

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

по нему я увидел, что запрос был неправильно написан, не было нужных параметров и не было нужного индекса.
в итоге по отчету где должно было быть 300-500 строк, по каждой строке выкачивалась таблица сперва в 120-180 метров лишних данных, а потом join обрезалась. Видимо обработку вот этого обьема данных и не успевал обрабатывать клиент

К сообщению приложен файл. Размер - 26Kb
5 авг 12, 23:43    [12965615]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
munster
Member

Откуда:
Сообщений: 36


К сообщению приложен файл. Размер - 134Kb
5 авг 12, 23:44    [12965618]     Ответить | Цитировать Сообщить модератору
 Re: ASYNC_NETWORK_IO  [new]
критик 2
Guest
А как-то непонятно, как могут быть связаны ASYNC_NETWORK_IO и сотни MB данных в середине выполнения запроса.

Э, запрос распределённый ?
6 авг 12, 02:39    [12965861]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить