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

Откуда:
Сообщений: 129
У меня сильный, в принципе, сервер загибается даже под небольшой нагрузкой.
Смотрю процессы и вижу что есть процесс (SPID14) который подвисает с ASYNC_IO_COMPLETION.
Оказалось что это процесс сброса грязных страниц.
Дальше больше - в Логе есть сообщения: "FlushCache... бла-бла-бла... 200000ms ... throughput 0.5 MB/s ". :(
Запускаю SQLIO и получаю 85 MB/s. Т.е. как бы диски зашибись а скулю об этом не рассказали?

Куда копать?

SQL Server 2012, Win2012R2, VM, SAN, 24 CPUs, 98G memory
13 ноя 14, 12:08    [16839181]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Daba
Запускаю SQLIO и получаю 85 MB/s
85 MB/s рандомной записи по 8 Кб при прочей нагрузке на массив?
13 ноя 14, 12:27    [16839399]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Daba
Member

Откуда:
Сообщений: 129
Гавриленко Сергей Алексеевич,

Я взял "дифолтовые" настройки с сайта Брент Озара. T.e. 8K random и 64К sequential. Помоему так.
[url=]http://www.brentozar.com/archive/2008/09/finding-your-san-bottlenecks-with-sqlio/[/url]
13 ноя 14, 15:31    [16840883]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31442
Daba
Я взял "дифолтовые" настройки с сайта Брент Озара. T.e. 8K random и 64К sequential. Помоему так.
Так точно как будет? 8K random, или 64К sequential? 2 большие разницы, раз в 100 по производительности.
13 ноя 14, 15:45    [16841014]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Daba
Member

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

Я запустил тест из 4-х частей (если я правильно понимаю):
sqlio -kW -t8 -s120 -o8 -frandom -b8 -BH -LS D:\TestFile.dat
sqlio -kR -t8 -s120 -o8 -frandom -b8 -BH -LS D:\TestFile.dat
sqlio -kW -t8 -s120 -o8 -fsequential -b64 -BH -LS D:\TestFile.dat
sqlio -kR -t8 -s120 -o8 -fsequential -b64 -BH -LS D:\TestFile.dat

и результат вот такой, на первом диске (дата):

sqlio v1.5.SG
using system counter for latency timings, 14318180 counts per second
parameter file used: param.txt
file D:\testfile.dat with 2 threads (0-1) using mask 0x0 (0)
2 threads writing for 10 secs to file D:\testfile.dat
using 8KB sequential IOs
enabling multiple I/Os per thread with 8 outstanding
size of file D:\testfile.dat needs to be: 21474836480 bytes
current file size: 1611014144 bytes
need to expand by: 19863822336 bytes
expanding D:\testfile.dat ... done.
using specified size: 20480 MB for file: D:\testfile.dat
initialization done

CUMULATIVE DATA:
throughput metrics:
IOs/sec: 10768.96
MBs/sec: 84.13
latency metrics:
Min_Latency(ms): 0
Avg_Latency(ms): 0
Max_Latency(ms): 43
histogram:
ms: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24+
%: 79 10 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

На втором диске (логи):

CUMULATIVE DATA:
throughput metrics:
IOs/sec: 4384.27
MBs/sec: 274.01
latency metrics:
Min_Latency(ms): 0
Avg_Latency(ms): 14
Max_Latency(ms): 459
histogram:
ms: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24+
%: 0 0 1 1 3 5 6 6 8 8 8 7 6 5 4 4 3 3 3 2 2 2 1 1 12
13 ноя 14, 16:48    [16841640]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Daba, виртуалка, я так понимаю?
13 ноя 14, 17:09    [16841803]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31442
Daba
и результат вот такой
Что то странно, я привык, что каждый sqlio даёт свой результат.

А тут какой то CUMULATIVE DATA
Может, из 84.13 MBs/sec 84 приходится на последовательные действия, а 0.13 на рандомные?
13 ноя 14, 17:35    [16841965]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Daba
Member

Откуда:
Сообщений: 129
Владислав Колосов,

Ага.
13 ноя 14, 17:36    [16841967]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Daba,
на виртуалке что угодно может быть, там постоянная борьба за ресурсы, особенно за процессор и оперативку.
13 ноя 14, 17:40    [16841992]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31442
Daba
Владислав Колосов,

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

Вы посмотрите в таск-менеджере в ресурс мониторе запись по файлам, увидите очереди и задержки. Это вам сразу покажет проблему с дисками.
13 ноя 14, 17:42    [16842003]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Мимо проходил еще раз
Guest
Приведите пожалуйста весь целиком результат вашего скрипта
sqlio -kW -t8 -s120 -o8 -frandom -b8 -BH -LS D:\TestFile.dat
sqlio -kR -t8 -s120 -o8 -frandom -b8 -BH -LS D:\TestFile.dat
sqlio -kW -t8 -s120 -o8 -fsequential -b64 -BH -LS D:\TestFile.dat
sqlio -kR -t8 -s120 -o8 -fsequential -b64 -BH -LS D:\TestFile.dat
13 ноя 14, 17:43    [16842005]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Daba
Member

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

Честно, я больше аппликативный DBA чем системный и не имею большого опыта в ковыряниях в железках, операционках и т.п. Каюсь.
В том что вы говорите есть резон, попробую.
13 ноя 14, 17:43    [16842007]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Daba
Member

Откуда:
Сообщений: 129
Владислав Колосов,

не должно быть - это хоть и виртуалка но в единственном числе на хосте. Плюс проблема похоже в IO, а файлы на SAN вне виртуалки.
13 ноя 14, 17:46    [16842020]     Ответить | Цитировать Сообщить модератору
 Re: Сброс "грязных" страниц берет много время и тормозит все процессы.  [new]
Владислав Колосов
Member

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

Мы тоже думали, что IO, пока не админы не прогнали тест памяти. Там пляска пропускной способности в 3-5 раз.
Просто перенесли на другую виртуалку - и резко ухудшилось IO. Тестировали диски - всё ОК, ломали голову.
13 ноя 14, 18:00    [16842097]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить