Kłóciłem się z DBA i kilkoma facetami od sprzętu o problemy z wydajnością na naszym serwerze SQL. Normalnie wszystko jest w porządku, jednak w ciągu ostatnich kilku tygodni mieliśmy ogromne opóźnienia w serwerze SQL. Oczywiste jest, że SQL Server czeka na dysku we / wy. Ale ciągle słyszę, że to dlatego, że SQL Server prosi o nienormalnie wysokie operacje we / wy. Tak nie jest. Z tego, co się dzieje, widzę, że nie ma nic nienormalnego, a wszystkim, na co DBA patrzy, jest to, co powoduje blokowanie i tak dalej, co jest bezużyteczne. Na przykład najważniejszą rzeczą, którą widzimy podczas tworzenia kopii zapasowej, jest działanie w bazie danych ASPState, której używamy do zarządzania stanem sesji ASP na serwerach internetowych. Operacje te zwykle nie są widoczne dla aktywnych wyników Sp_who2, ponieważ występują tak szybko. Baza danych znajduje się w prostym trybie odzyskiwania, a rejestrowanie jest nielegalne. Jednak podczas tych skoków opóźnienia widzimy wiele operacji wyboru i aktualizacji bazy danych, które są blokowane lub czekają. Jestem pewien, że dzieje się tak, że ktoś lub jakieś zadanie wykonuje coś, co powoduje ciężkie użycie dysku w macierzach RAID używanych dla dzienników baz danych i plików danych. Problem polega na tym, że nikt nie chce przyznać, że robi coś, co zabija naszą stronę internetową.
Moje pytanie dotyczy tego, jakie liczniki wydajności lub cokolwiek mogę zarejestrować, co pomoże pokazać, że serwer SQL czeka na operacje we / wy, ale nie dlatego, że prosi o więcej niż normalnie, ponieważ dysk jest zajęty, aby odpowiedzieć na żądania serwera SQL tak szybko jak zwykle?