Намиране на I / O тесни места за MS SQL Server
Същността на тази статия е редовното забавяне в базите данни на SQL Server. След статиите за анализ на използването на паметта и процесора, бихме искали да проучим допълнително причината за забавянето, като анализираме I/O тесните места.
Подсистемата I/O е ключов фактор за производителност в SQL Server, защото страниците на базата данни непрекъснато се преместват от диск в буферния пул или обратно. Освен това регистрите на транзакциите и системата tempDB генерират значителен I/O трафик. Имайки предвид тези фактори, трябва да сте сигурни, че използваната I/O подсистема е стабилна, в противен случай проблемите в работата на тази подсистема ще доведат до увеличено време за отговор на заявката и чести изчаквания. В тази статия ще опиша няколко начина за намиране на тесни места за I/O с помощта на вградени инструменти и ще представя някои идеи, свързани с конфигурацията на диска.
Монитор на производителността
Можете да използвате системната помощна програма Performance Monitor, за да определите натоварването на I/O подсистемата. Изброените по-долу броячи на производителността могат да бъдат полезни за тези цели:
Обект на PhysicalDisk: Ср. Дължина на дисковата опашка. Този брояч показва средния брой заявки за четене и запис, които са на опашка за посочения физически диск. Колкото по-голям е броят, толкова повече се очаква I/O на диска. Ако тази стойност често е по-голяма от две по време на пиково натоварване на SQL Server, трябва да помислите за предприемане на адекватни мерки. Ако се използват няколко диска, показанията на брояча трябва да бъдат разделени на броя на дисковете в масива и да се уверите, че получената стойност не надвишава 2. Например, имате 4 диска и дължината на дисковата опашка е 10, необходимата опашка дълбочина е както следва: 10/4 = 2, 5, това ще бъде стойността, която трябва да се анализира, а не 10.