Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

Откуда:
Сообщений: 368
Добрый день!

Посмотрел у себя параметр avg_write_stall_ms у БД TempDB больше 160ms. В Интернете пишут, что если больше 50ms, то это плохо...
Хотел проконсультироваться, всё же критично такое большое значение?
БД TEMPDB (начальный размер базы 1GB файл журнала 10GB на доп. файлы базу не делил) лежит от отдельной SSD диске
INTEL D3 S4610

СУБД используется для работы с базами 1С около 35-40 пользователей.
ОС: Windows Server 2012 R2
СУБД: MS SQL Server 2008 R2
Сервер 1С на этом же сервере
ОЗУ: 32GB
7 июн 19, 11:24    [21904329]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Captd,

сколько файлов?
7 июн 19, 11:25    [21904332]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

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

TaPaK,

Пока один файл. До этого TEMPDB лежал на системном диске тоже SSD? там был разбит на 4 файла по 1GB каждый, прирост 512MB.
avg_write_stall_ms были такие же 160-170ms.
7 июн 19, 12:39    [21904419]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Captd
TaPaK,

TaPaK,

Пока один файл. До этого TEMPDB лежал на системном диске тоже SSD? там был разбит на 4 файла по 1GB каждый, прирост 512MB.
avg_write_stall_ms были такие же 160-170ms.

ну один это не желательно, а так 160 много, может не правильно считате :) ну и 1с жеж
7 июн 19, 12:54    [21904437]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

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

Скрипт которым смотрю.

SELECT files.physical_name, files.name,
stats.num_of_writes, (1.0 * stats.io_stall_write_ms / stats.num_of_writes) AS avg_write_stall_ms,
stats.num_of_reads, (1.0 * stats.io_stall_read_ms / stats.num_of_reads) AS avg_read_stall_ms
FROM sys.dm_io_virtual_file_stats(2, NULL) as stats
INNER JOIN master.sys.master_files AS files
ON stats.database_id = files.database_id
AND stats.file_id = files.file_id
WHERE files.type_desc = 'ROWS'


Вот и хотел узнать если с 1С это нормально или нет такая задержка.
7 июн 19, 13:13    [21904453]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Captd,

а таким всё что по tempdb показывает
https://www.brentozar.com/blitz/slow-storage-reads-writes/
7 июн 19, 13:22    [21904461]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Владислав Колосов
Member

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

проверьте длину очереди диска, если она стабильно больше 1-2, диск не успевает обрабатывать входящие данные.
7 июн 19, 14:20    [21904544]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

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

Результат скрипта

Database Name - tempdb

Logical File Name - tempdev [ROWS]

Size (GB) - 1.00

Total IO Read Stall - 183916

Total Reads - 447396

GB Read - 27,00

Avg Read Stall (ms) - 0

Max Rec Read Stall Avg - 30

Total IO Write Stall - 72912541

Total Writes - 460615

GB Written - 43735,00

Avg Write Stall (ms) - 158

Max Rec Write Stall Avg - 30

Read-Related Wait Stat - PAGEIOLATCH*

Write-Related Wait Stat - ASYNC_IO_COMPLETION	
7 июн 19, 16:18    [21904693]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

Откуда:
Сообщений: 368
Вообщем пока не понятно, посмотрел среднюю длину очереди диска она 0,008.
Может это приемлемое значение для 1С+MSSQL? Сейчас 5 файлов tempdb, средняя задержка записи 174ms для всех файлов.
11 июн 19, 08:30    [21906337]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30800
Captd
средняя задержка записи 174ms для всех файлов.
А какая организация диска, это просто SSD-диск, без всяких рейдов?
Странная ситуация, чтение в норме, а на запись такая огромная задержка.
Как будто что то высокоуровневое переделывает операции записи, для организации всяких массивов и тому подобного.

Посмотрите всякие выравнивания, что ли. Скажем, с какого блока начинается логический раздел, и какой размер кластера...
Ещё пролезно смотреть ресурс-монитором, какая активность на диске, и с отдельными файлами (и там тоже есть responce time)
11 июн 19, 09:05    [21906358]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

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

Да, SSD Intel D3 S4610 без RAID, по скорости работы самой 1С нереканий нет, работает быстро.

1- SSD - система

2- SSD - Рабочие БД

3- SSD - TempDB

4 - HDD - Backup

Пока наблюдаю нагрузку диска где находятся БД TempDB.
11 июн 19, 10:18    [21906406]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30800
Captd
1- SSD - система

2- SSD - Рабочие БД

3- SSD - TempDB

4 - HDD - Backup
На других дисках write latency нормальная?
11 июн 19, 10:22    [21906409]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

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

По всем остальным БД параметр avg_write_stall_ms между 2-10ms.

Системный монитор по диску, на котором БД TEMPDB, показывает минимальную нагрузку по всем критичным параметрам.

Смотрел SQL Monitor раздел "последние ресурсоемкие запросы" в топе висит tempdb Средняя продолжительность запроса
ms 2600-2640.
11 июн 19, 10:55    [21906430]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

Откуда:
Сообщений: 368
Для теста, создал RAM диск. Пороверю, как сильно изменится параметр avg_write_stall_ms, для БД TempDB.
11 июн 19, 12:36    [21906575]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Владислав Колосов
Member

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

значит у Вас экспресс редакция и очередь к ядрам.
11 июн 19, 13:54    [21906702]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
ЕвгенийGEM
Member

Откуда:
Сообщений: 94
Captd, во-первых если у вас виртуальные среды, то такие показатели могут быть приемлемыми.
Общая рекомендация по файлам tempdb:
1) размер должен быть фиксированным без возможности роста-дайте с запасом, но так, чтобы все файлы данных были одного размера
2) количество файлов=количеству ЦП. Но также можно проверить хватает ли файлов с помощью вот этого запроса:
http://sqlcom.ru/dba-tools/tempdb-in-sql-server-2016/
3) журнал транзакций-отдельная тема (но обычно ставлю рост по 1 ГБ изначально, бывает что просто выставляю фиксировано 100 ГБ-но тут по ситуации)
Также файлы можно разнести на разные диски (например журнал транзакций на один, а данные-на другой) даже если это виртуальная среда
Далее-сами запросы разгребать почему такой нажим на tempdb
11 июн 19, 16:55    [21906908]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
ЕвгенийGEM,

автор
Captd, во-первых если у вас виртуальные среды, то такие показатели могут быть приемлемыми.

посмотрел на всё вокруг... 55ms и это на виртуалке не с жутко тормозными дисками, rcsii с огромными расчётами в tempdb.
На какой планете 155 нормально неясно
11 июн 19, 17:16    [21906932]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

Откуда:
Сообщений: 368
MS SQL Server 2008 R2 редакция Standard Runtime for 1C, установлено всё на физическом сервере без виртуалок.

Для теста, перенес БД TempDB на RAM диск, показатель avg_write_stall_ms стал 0,13-0,15 ms.

Мониторил саму БД TempDB и диск, нагрузки почти нет, не понятно почему такая высокая задержка.

Может такой высокий показатель на дисках из-за не хватки пропускной способности на SATA интерфейсе?
13 июн 19, 08:11    [21907619]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
uaggster
Member

Откуда:
Сообщений: 767
Captd
Может такой высокий показатель на дисках из-за не хватки пропускной способности на SATA интерфейсе?

Я бы покопал в сторону настройки рэйд-контроллера, и логического тома.
Вот настройки, которые должны быть установлены для контроллера и тома, на котором расположена tempdb, практически во всех случаях (ну или вы должны понимать, почему сделали по-другому).
1. Кэширование контроллером - включено.
2. Кэш дисков - выключен.
3. Режим кеширования Write-back always (а то еще бывает Write-back только с батарейкой, with BBU, а батарейки то нет).
4. Режим упреждающего чтения - выключен. Упреждающее чтение (часто фигурирует как режим OLTP database), по моему опыту, на томах с tempdb снижает производительность системы.
5. Strip size должен быть настроен в соответствии с характеристиками ваших дисков. Обычно не стоит менять дефолтовые значения в 256к для адаптека, но для ссд может иметь смысл.
6. Отключить режим периодической проверки целостности тома (именно для тома под tempdb).

Ну, и, разумеется, в первую очередь посмотрел, не вывалился ли диск из рэйда, и рэйд работает в режиме восстановления данных.
13 июн 19, 09:05    [21907655]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Captd,

+ к предыдущему, смотрите на сторону операционки контроллера, скл похоже не причём
13 июн 19, 09:07    [21907657]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

Откуда:
Сообщений: 368
Диски, не в рэйде, вот контроллер дисков установлен как cтандартный контролер SATA AHCI, возможно из-за него медленная работа. Попробуйю найти драйвера для текущего контроллера intel.
13 июн 19, 09:15    [21907670]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

Откуда:
Сообщений: 368
Добавил флаг трассировки -T1118 задержка упала с 174ms до 115ms. Попробую ещё разнести файлы Tempdb по разным дискам.
14 июн 19, 08:47    [21908338]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

Откуда:
Сообщений: 368
Удалось добиться значения 11ms параметра avg_write_stall, файлы Tempdb в количество 8 шт., находятся на выделенном SSD диске, если часть файлов переместить на 2й SSD диск с рабочими базами, то задержка падает < 5ms.

Что сделал:

- Скорректировал выделение оперативной памяти MS SQL, был слишком большой объем, самой ОС не хватало памяти
- Переключил SSD диск на SATA3 порт, был подключен к SATA2
- Добавил флаг T1118
- Все файлы TemзDB перенёс на диск SSD INTEL DC S4610, были на SSD DC S3110S.
4 июл 19, 10:26    [21920540]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
msLex
Member

Откуда:
Сообщений: 7730
Captd
Что сделал:

- Скорректировал выделение оперативной памяти MS SQL, был слишком большой объем, самой ОС не хватало памяти
- Переключил SSD диск на SATA3 порт, был подключен к SATA2
- Добавил флаг T1118
- Все файлы TemзDB перенёс на диск SSD INTEL DC S4610, были на SSD DC S3110S.


Вы все это сделали одновременно или это были последовательные шаги с промежуточными результатами?
4 июл 19, 11:40    [21920613]     Ответить | Цитировать Сообщить модератору
 Re: Большое значение avg_write_stall_ms у таблицы TempDB  [new]
Captd
Member

Откуда:
Сообщений: 368
Всё делал последовательно, с каждым пунктом результат улучшался. Особенный прирост дало переключение в SATA3, и перенос базы TempDB на SSD DC S4610. До этого она находилась на SSD DC S3110S меньше 115ms на нём не было.
4 июл 19, 12:25    [21920651]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить