Maciej Krasuski www.exaco.pl
Temat: MSSQL ciekawy przypadek
Witam,Mam bardzo ciekawy case związany z windowsem i sql serverem. Mianowicie na jednym z serwerów, na którym stoi baza danych (mssql server 2008) obsługująca system magazynowy w dużym centrum logistycznym pojawiają się piki, podczas których serwer zamiera na chwilę. Piki pojawiają się na następujących licznikach:
Log write wait
Procesor privileged time
Witać to na poniższym obrazku:
Konfiguracja serwera, na którym występuje ten problem to:
HP DL380 G6
2xXEON e5520
72GB RAM
Bazy danych są składowane na dość specyficznym storage'u FusionIO ioDrive:
http://www.fusionio.com/products/iodrive/
W serwerze są zamontowane 3 karty ioDrive 320 GB z czego karta, na której przechowywane są dane jest sformatowana na 320GB, a dwie pozostałe, przechowujące T-Loga są sformatowane na max write performance, po 220GB każda.
Cluster size dla wszystkich dysków jest ustawiony na 64KB, wyłączone HT na prockach, wszystkie bazy w trybie Full Recovery, włączony mirroring dla wszystkich baz użytkownika, włączony log shipping co 15 minut aby zapanować nad t-logami.
Podczas takiego piku SQL zamiera na chwilę, po czym znowu śmiga normalnie. Ma ktoś może jakiś pomysł, którym kierunku szukać? Brakuje mi trochę pomysłów ;(
Co ciekawe miałem niedawno podobny problem u innego klienta, który korzystał z bardziej typowego storage'a Hitachi AMS 2100 SAN. U niego również występowały takie same piki (ale było trochę niższe rzędu 300ms na log write wait). Był to klaster złożony z 2 node'ów podłączonych do macierzy przez sieć SAN. W tym przypadku udało się za pomocą xperf'a zlokalizować problematyczny sterownik storport.sys, który nie dawał sobie rady z zapisami poniżej 4kb i generował mnóstwo opóźnień. Łatka do windowsa załatwiła sprawę. Jedyna zbieżność tych dwóch przypadków, to to, że obydwa serwery (ten z iodrive i klaster) były wykorzystywane przez WMS'a. Chociaż obydwa te systemy magazynowe były systemami autorskimi tworzonymi lokalnie w firmach i nie miały ze sobą nic wspólnego:)
Natomiast po załączeniu xperf'a dla pierwszego przypadku nie mogę znaleźć nic, co by się jakoś mocno rzucało w oczy i stoję w miejscu. Proszę o propozycje rozwiązań/sposobów diagnozowania, gdyż przypadek jest dość ciekawy i może posłużyć społeczności...
Dodam jeszcze, że karty ioDrive wykorzystujemy w większej ilości serwerów i tylko w tym jednym przypadku występują piki wydajności.
PozdrawiamMaciej Krasuski edytował(a) ten post dnia 25.01.11 o godzinie 09:09