ROZDZIAú 30

Badanie i dostrajanie wydajno£ci dysku

     System dyskowy obs│uguje operacje zwi╣zane z przechowywaniem i przenoszeniem program≤w i danych w systemie komputerowym, wywieraj╣c ogromny wp│yw na og≤lny czas odpowiedzi tego systemu. Konsola Wydajno£µ udostΩpnia liczniki wydajno£ci, kt≤re umo┐liwiaj╣ pomiary aktywno£ci i przepustowo£ci dysk≤w. W niniejszym rozdziale zamieszczone s╣ informacje na temat korzystania z tych licznik≤w oraz strategii pozwalaj╣cych na zwiΩkszenie wydajno£ci dysku. Dodatkowo s╣ w nim opisane narzΩdzia znajduj╣ce siΩ na dysku CD angielskojΩzycznej publikacji Microsoft Windows 2000 Professional Resource Kit, kt≤re mog╣ pom≤c w okre£leniu program≤w posiadaj╣cych najwiΩksze wymagania zwi╣zane z systemem dyskowym
Zawarto£µ rozdzia│u
      Nowo£ci
      Podstawy monitorowania dysk≤w
      Konfigurowanie dysk≤w i systemu plik≤w w celu osi╣gniΩcia wysokiej wydajno£ci
      U┐ywanie licznik≤w dysku
      Okre£lanie linii bazowej dla u┐ycia dysku
      Analizowanie problem≤w wydajno£ciowych zwi╣zanych z dyskami
      Usuwanie w╣skich garde│ zwi╣zanych z dyskami

     Analizowanie u┐ycia pamiΩci podrΩcznej i dysku przez aplikacje
Por≤wnaj

Nowo£ci

     U┐ytkownicy system≤w Windows 98 i Windows NT 4.0 Workstation zauwa┐╣ kilka zmian wprowadzonych w systemie Windows 2000, zwi╣zanych z zasobami i u┐yciem dysku. Poni┐sza lista zawiera kr≤tkie podsumowanie zmian wprowadzonych w stosunku do tych system≤w operacyjnych.

Podstawy monitorowania dysk≤w

     Okre£laj╣c wydajno£µ systemu dyskowego konieczne jest obserwowanie wielu r≤┐norodnych czynnik≤w. Zaliczaj╣ siΩ do nich poziom wykorzystania, przepustowo£µ, ilo£µ dostΩpnej wolnej przestrzeni na dysku oraz to, czy w systemie dyskowym tworzy siΩ kolejka ┐╣da±. Ze wzglΩdu na ich wp│yw na inne zasoby, istotne jest r≤wnie┐ monitorowanie innych rodzaj≤w aktywno£ci powodowanych przez operacje dyskowe, takich jak przerwania generowane przez system dyskowy i aktywno£µ stronicowania.
     Rysunek 30.1 ilustruje miejsce monitorowania system≤w dyskowych w ca│ym procesie pomiaru wydajno£ci systemu komputerowego.

Rysunek 30.1 Rola monitorowania dysku w procesie monitorowania systemu

     Wiele z wymienionych wy┐ej czynnik≤w jest ze sob╣ zwi╣zanych. Przyk│adowo, je┐eli wykorzystanie dysku jest wysokie, poziom transferu (przepustowo£µ) mo┐e osi╣gaµ warto£µ szczytow╣, a ponadto mo┐e siΩ formowaµ kolejka. Warunki te mog╣ spowodowaµ wyd│u┐enie czasu odpowiedzi i spadek og≤lnej wydajno£ci systemu. Mimo ┐e ilo£µ wolnej przestrzeni na dysku nie wp│ywa bezpo£rednio na poziom transferu danych, to gdy przyjmuje ona ekstremalnie niskie warto£ci, mo┐e wp│yn╣µ na czas odpowiedzi systemu û aplikacje, kt≤re odczytuj╣ i zapisuj╣ dane nie mog╣ tego dokonywaµ w spos≤b wydajny. Monitoruj╣c parametry dysku mo┐na wykrywaµ te sytuacje, zanim spowoduj╣ one problemy,.
     Niniejszy rozdzia│ zawiera informacje na temat nastΩpuj╣cych etap≤w monitorowania systemu dyskowego:

Konfigurowanie dysk≤w i systemu plik≤w w celu osi╣gniΩcia wysokiej wydajno£ci

     Na wydajno£µ dysku wp│ywa typ u┐ywanego systemu plik≤w, a tak┐e spos≤b, w jaki dysk wyr≤wnuje £cie┐ki i sektory podczas formatowania. W celu osi╣gniΩcia optymalnej wydajno£ci konieczne jest odpowiednie skonfigurowanie systemu plik≤w oraz wyr≤wnanie £cie┐ek i sektor≤w dysku.

Konfigurowanie systemu plik≤w

     System plik≤w NTFS jest systemem zalecanym ze wzglΩdu na jego zalety zwi╣zane z niezawodno£ci╣ i bezpiecze±stwem oraz ze wzglΩdu na mo┐liwo£µ obs│ugi dysk≤w o bardzo du┐ych rozmiarach. Kosztem tych zalet jest jednak niestety pewne obci╣┐enie systemu. Niekt≤re z funkcji systemu NTFS mo┐na zmodyfikowaµ w celu zwiΩkszenia jego wydajno£ci:
Ostrze┐enie Nie nale┐y u┐ywaµ bezpo£rednio edytora rejestru, chyba ┐e nie pozostaje ┐adne inne wyj£cie. Edytory rejestru omijaj╣ standardowe £rodki bezpiecze±stwa zapewnione przez narzΩdzia administracyjne. Zabezpieczenia te zapobiegaj╣ wprowadzeniu sprzecznych, mog╣cych zmniejszyµ wydajno£µ systemu lub uszkodziµ go ustawie±. Edycja rejestru mo┐e skutkowaµ powa┐nymi i niespodziewanymi konsekwencjami, prowadz╣cymi nawet do zablokowania rozruchu systemu i konieczno£ci ponownej jego instalacji. Aby konfigurowaµ lub dostosowywaµ system Windows 2000 nale┐y u┐ywaµ program≤w w Panelu Sterowania lub w Microsoft Management Console (MMC) je£li tylko jest to mo┐liwe. WiΩcej informacji na temat zmieniania zawarto£ci rejestru znajduje siΩ w Pomocy systemu Windows 2000.

Wy│╣czanie zliczania operacji wej£cia/wyj£cia

     Domy£lnie Monitor systemu stale monitoruje dane zwi╣zane z operacjami wej£cia/wyj£cia proces≤w i wy£wietla je na zak│adce Procesy w Mened┐erze zada±. W £rodowisku wieloprocesorowym dane te s╣ wsp≤│dzielone przez procesory, w kt≤rych s╣ wykonywane poszczeg≤lne procesy. Gdy proces, kt≤ry generuje du┐╣ liczbΩ operacji wej£cia/wyj£cia dysku i sieci (np. us│uga bazy danych), dzia│a u┐ywaj╣c kilku procesor≤w, to aktualizacja wsp≤│dzielonych pomiar≤w operacji wej£cia/wyj£cia dla procesu oraz og≤lnosystemowych mo┐e spowolniµ dzia│anie systemu. Wydajno£µ operacji intensywnie korzystaj╣cych z funkcji wej£cia/wyj£cia w systemach wieloprocesorowych mo┐na zwiΩkszyµ wy│╣czaj╣c globalne liczniki wej£cia/wyj£cia oraz liczniki poszczeg≤lnych proces≤w utrzymywane przez Mened┐era zada±. W tym celu nale┐y dodaµ wpis CountOperations (typ danych REG_DWORD) w kluczu rejestru HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager \I/O System. Je┐eli podklucz I/O systemu nie jest dostΩpny to nale┐y go dodaµ przed utworzeniem wpisu. NastΩpnie nale┐y ustawiµ warto£µ tego wpisu na 0. Tak skonfigurowany Mened┐er zada± nie bΩdzie wiΩcej wy£wietla│ pomiar≤w operacji wej£cia/wyj£cia dla poszczeg≤lnych proces≤w. WiΩcej informacji na temat Mened┐era zada± znajduje siΩ w rozdziale äOm≤wienie monitorowania wydajno£ciö.

Konfigurowanie wyr≤wnania dysku

     System Windows 2000 korzysta z wewnΩtrznej struktury o nazwie MBR (Master Boot Record û g│≤wny rekord startowy). Struktura ta ogranicza maksymaln╣ liczbΩ ukrytych sektor≤w do 63 (wiΩcej informacji na temat g│≤wnego rekordu startowego mo┐na znaleƒµ w rozdziale äDyski i rozwi╣zywanie problem≤wö). Ta charakterystyka rekordu MBR powoduje, ┐e domy£lnym sektorem startowym dla dysk≤w, kt≤re zawieraj╣ wiΩcej ni┐ 63 sektory na £cie┐kΩ, jest sektor 64. W rezultacie, gdy programy transferuj╣ dane do lub z dysk≤w, kt≤re posiadaj╣ wiΩcej ni┐ 63 sektory na £cie┐kΩ, mo┐e wyst╣piµ b│Ωdne wyr≤wnanie na poziomie £cie┐ki, z alokacjami zaczynaj╣cymi siΩ w sektorze innym ni┐ startowy. Problem ten mo┐e spowodowaµ nieefektywno£µ systemowych funkcji optymalizacji operacji wej£cia/wyj£cia, zaprojektowanych tak, aby granice £cie┐ek nie by│y przekraczane.
     Osi╣gniΩcie prawid│owego wyr≤wnania mo┐e byµ jeszcze trudniejsze, gdy wystΩpuj╣ okre£lone czynniki zwi╣zane z konstrukcj╣ dysku. Przyk│adowo, informacje o £cie┐kach raportowane przez dyski nie zawsze s╣ dok│adne. Dodatkowo wiele dysk≤w posiada r≤┐ne liczby sektor≤w w poszczeg≤lnych £cie┐kach. Przyk│adowy program Diskpar.exe, znajduj╣cy siΩ na dysku CD do│╣czonym do angielskojΩzycznej publikacji Microsoft Windows 2000 Professional Resource Kit, ilustruje, w jaki spos≤b mo┐na korzystaµ z funkcji API systemu Windows 2000 w celu pobierania i ustawiania informacji o partycjach. Korzystaj╣c z tych samych funkcji, mo┐na unikn╣µ utraty wydajno£ci zwi╣zanej z b│Ωdami wyr≤wnania wystΩpuj╣cymi w dyskach charakteryzuj╣cych siΩ du┐ymi rozmiarami £cie┐ek i optymalizacjami wyr≤wnania. WiΩcej informacji na temat tego narzΩdzia znajduje siΩ w Pomocy zestawu Microsoft Windows 2000 Resource Kit.

U┐ywanie licznik≤w dysku

     System Windows 2000 zawiera liczniki umo┐liwiaj╣ce monitorowanie dysk≤w fizycznych (│╣cznie z napΩdami no£nik≤w wymiennych) oraz wolumin≤w logicznych. Obiekt Dysk fizyczny udostΩpnia liczniki raportuj╣ce aktywno£µ napΩdu fizycznego, natomiast obiekt Dysk logiczny dostarcza statystyki zwi╣zane z dyskami logicznymi i woluminami. Liczniki te umo┐liwiaj╣ mierzenie przepustowo£ci, d│ugo£ci kolejek, poziomu wykorzystania dysku i innych parametr≤w systemu dyskowego. Zwi╣zki pomiΩdzy r≤┐norodnymi aspektami wydajno£ci dysku sprawiaj╣, ┐e najbardziej praktyczne jest jednoczesne monitorowanie ich wszystkich. Domy£lnie system operacyjny aktywuje jedynie liczniki wydajno£ci obiektu Dysk fizyczny. Liczniki obiektu Dysk logiczny musz╣ zostaµ w│╣czone rΩcznie, za pomoc╣ polecenia diskperf. ProcedurΩ aktywacji licznik≤w dysku za pomoc╣ tego polecenia opisano poni┐ej.

Aby w│╣czyµ liczniki obiektu Dysk logiczny za pomoc╣ polecenia diskperf, nale┐y:      Polecenie diskperf posiada nastΩpuj╣c╣ sk│adniΩ:
     diskperf [-y[d|v] | -n[d|v]] [\\nazwa_komputera]
     Opcja ûy umo┐liwia w│╣czanie licznik≤w, natomiast opcja ûn pozwala na ich wy│╣czanie. Aby okre£liµ rodzaj licznik≤w, nale┐y do│╣czyµ d dla dysk≤w fizycznych lub v dla dysk≤w i wolumin≤w logicznych. Podczas uruchamiania systemu operacyjnego narzΩdzie diskperf jest wywo│ywane automatycznie z opcj╣ ûyd powoduj╣c╣ w│╣czenie licznik≤w dysku fizycznego. WiΩcej informacji na temat narzΩdzia diskperf mo┐na uzyskaµ wpisuj╣c w wierszu polece± diskperf -?. Po u┐yciu narzΩdzia diskperf konieczne jest ponowne uruchomienie systemu.
     Liczniki obiektu Dysk fizyczny udostΩpniaj╣ dane na temat aktywno£ci ka┐dego z dysk≤w fizycznych zainstalowanych w systemie, natomiast liczniki obiektu Dysk logiczny informuj╣ o parametrach dzia│ania zainstalowanych wolumin≤w logicznych. Interfejs u┐ytkownika Monitora systemu identyfikuje poszczeg≤lne dyski fizyczne numeruj╣c je od 0 wzwy┐. Monitorowane dyski logiczne s╣ identyfikowane przez skojarzone z nimi litery napΩd≤w. W przypadku dysk≤w logicznych sk│adaj╣cych siΩ z kilku dysk≤w fizycznych, na przyk│ad gdy dysk C: sk│ada siΩ z dw≤ch fizycznych napΩd≤w: 0 i 1, wyst╣pienia dysku mog╣ byµ widoczne jako dysk 0 C i dysk 1 C.
     Podczas monitorowania wolumin≤w logicznych nale┐y pamiΩtaµ o tym, ┐e mog╣ one wsp≤│dzieliµ jeden dysk fizyczny, a otrzymywane dane mog╣ odzwierciedlaµ rywalizacjΩ miΩdzy nimi. Je┐eli korzysta siΩ z woluminu │╣czonego lub roz│o┐onego, obs│ugiwanego sprzΩtowo przez kontroler RAID (Redundant Array of Independent Disks), liczniki bΩd╣ raportowa│y dane poszczeg≤lnych dysk≤w fizycznych w macierzy dyskowej tak, jakby stanowi│y jeden napΩd. Programowe woluminy RAID-5 s╣ dostΩpne jedynie w komputerach u┐ywaj╣cych systemu Windows 2000 Server.
     W celu mierzenia przestrzeni dysku oraz jego przepustowo£ci i poziomu wykorzystania, nale┐y pos│ugiwaµ siΩ licznikami opisanymi w tabeli 30.1.      
Tabela 30.1 Obiekty i liczniki wydajno£ci dla monitorowania dysk≤w

LicznikOpis

Dysk logiczny\Wolne miejsce (%) Raportuje procent ilo£ci nieprzydzielonego miejsca na dysku w stosunku do ca│kowitej ilo£ci u┐ytecznego miejsca w woluminie logicznym. Warto£µ tego licznika dla wyst╣pienia _Total jest obliczana jako suma warto£ci procentowych dla poszczeg≤lnych dysk≤w.
Dla obiektu Dysk fizyczny nie istnieje licznik Wolne miejsce (%).
Dysk logiczny|Dysk fizyczny \îrednia liczba bajt≤w dysku /Transfer Mierzy rozmiar operacji wej£cia/wyj£cia. Dysk jest wydajny, je┐eli wzglΩdnie szybko transferuje du┐e ilo£ci danych. Warto£µ tego licznika nale┐y obserwowaµ podczas mierzenia maksymalnej przepustowo£ci.
Aby bardziej szczeg≤│owo przeanalizowaµ transfer danych, nale┐y skorzystaµ z licznik≤w îrednia liczba bajt≤w dysku/Odczyt oraz îrednia liczba bajt≤w dysku/Zapis.
Dysk logiczny|Dysk fizyczny \îredni czas dysku w s /Transfer Licznik ten wskazuje, jak szybko s╣ przenoszone dane (w sekundach). Mierzony jest £redni czas poszczeg≤lnych transfer≤w, niezale┐nie od liczby odczytywanych lub zapisywanych bajt≤w. Warto£µ tego licznika jest r≤wna £redniej d│ugo£ci czasu odczyt≤w i zapis≤w od chwili opuszczenia przez dane sterownika Diskperf.sys do momentu zako±czenia operacji.
Wysoka warto£µ tego licznika mo┐e oznaczaµ, ┐e system ponawia ┐╣dania z powodu d│ugiej kolejki lub z powodu b│Ωd≤w na dysku.
Aby bardziej szczeg≤│owo przeanalizowaµ transfer danych, nale┐y skorzystaµ z licznik≤w îredni czas dysku w s/Odczyt oraz îredni czas dysku w s/Zapis.
Dysk logiczny|Dysk fizyczny \îrednia d│ugo£µ kolejki dysku Licznik ten £ledzi liczbΩ ┐╣da±, kt≤re zosta│y umieszczone w kolejce dysku i oczekuj╣ na obs│u┐enie oraz ┐╣da± obs│ugiwanych podczas interwa│u pr≤bkowania. Licznik ten mo┐e nieco zawy┐aµ aktywno£µ dysku.
Je┐eli w systemie, w kt≤rym jest zainstalowany jeden dysk, w kolejce znajduj╣ siΩ stale dwa lub wiΩcej ┐╣dania, mo┐e oznaczaµ wystΩpowanie w╣skiego gard│a zwi╣zanego z dyskiem. Aby bardziej szczeg≤│owo przeanalizowaµ dane o d│ugo£ci kolejki, nale┐y skorzystaµ z licznik≤w îrednia d│ugo£µ kolejki odczytu dysku oraz îrednia d│ugo£µ kolejki zapisu dysku.
Dysk logiczny|Dysk fizyczny \Bie┐╣ca d│ugo£µ kolejki dysku Licznik ten informuje o liczbie ┐╣da± dyskowych, kt≤re aktualnie oczekuj╣, oraz o liczbie aktualnie obs│ugiwanych ┐╣da±. Jego warto£ci podlegaj╣ znacznym zmianom do momentu ustabilizowania siΩ obci╣┐enia i zebrania liczby pr≤bek wystarczaj╣cej do okre£lenia wzorca.
Licznik ten raportuje bie┐╣c╣ d│ugo£µ kolejki dysku, w przeciwie±stwie do licznik≤w îrednia d│ugo£µ kolejki dysku, îrednia d│ugo£µ kolejki odczytu dysku oraz îrednia d│ugo£µ kolejki zapisu dysku, kt≤re raportuj╣ warto£ci u£rednione.
Dysk logiczny|Dysk fizyczny \Bajty dysku/s Licznik ten informuje o natΩ┐eniu transferu bajt≤w danych i stanowi g│≤wn╣ miarΩ przepustowo£ci dysku.
Aby przeanalizowaµ transfer danych zwi╣zanych z odczytami lub zapisami, nale┐y skorzystaµ z licznik≤w Bajty odczytu dysku/s oraz Bajty zapisu dysku/s.
Dysk logiczny|Dysk fizyczny \Transfery dysku/s Licznik ten informuje o liczbie operacji odczytu i zapisu wykonywanych w ci╣gu sekundy, niezale┐nie od ilo£ci danych przez nie obs│ugiwanych. Stanowi on miarΩ wykorzystania dysku.
Je┐eli warto£µ tego licznika przekracza 50 (w przypadku woluminu roz│o┐onego dla poszczeg≤lnych dysk≤w fizycznych), to mo┐e tworzyµ siΩ w╣skie gard│o.
Aby przeanalizowaµ transfer danych zwi╣zanych z odczytami lub zapisami, nale┐y skorzystaµ z licznik≤w Odczyty dysku/s oraz Zapisy dysku/s.
Dysk logiczny\Wolne megabajty Licznik ten raportuje liczbΩ megabajt≤w na dysku, kt≤re nie zosta│y przydzielone.
Dla obiektu Dysk fizyczny nie istnieje licznik Wolne megabajty.
Dysk logiczny|Dysk fizyczny \Podzia│ We/Wy/s Licznik ten raportuje czΩsto£µ, z jak╣ system operacyjny dzieli ┐╣dania wej£cia/wyj£cia dysku na kilka mniejszych ┐╣da±. Podzia│ wej£cia/wyj£cia mo┐e wyst╣piµ w sytuacji, gdy aplikacja ┐╣da danych o rozmiarze przekraczaj╣cym maksymalny rozmiar jednego ┐╣dania lub w przypadku, gdy dysk uleg│ fragmentacji. Do czynnik≤w wp│ywaj╣cych na rozmiar ┐╣dania wej£cia/wyj£cia zalicza siΩ budowa aplikacji oraz u┐ywany system plik≤w i sterowniki. Wysoka czΩsto£µ podzia│≤w wej£cia/wyj£cia nie musi sama w sobie stanowiµ problemu, jednak┐e w systemach, w kt≤rych zainstalowany jest jeden dysk, mo┐e wskazywaµ na fragmentacjΩ dysku.
Dysk logiczny|Dysk fizyczny \Czas dysku (%) Licznik ten raportuje ilo£µ czasu, w kt≤rym wybrany napΩd dyskowy jest zajΩty obs│ug╣ ┐╣da± odczytu lub zapisu. Poniewa┐ dane tego licznika mog╣ dotyczyµ wiΩcej ni┐ jednej pr≤bki, a wiΩc mog╣ zawy┐aµ rzeczywiste wykorzystanie systemu, to nale┐y je por≤wnaµ z warto£ci╣ licznika Czas bezczynno£ci (%).
Domy£lnie warto£ci tego licznika nie mog╣ przekraczaµ 100 procent. Mo┐liwe jest jednak dostosowanie rejestru tak, aby w razie potrzeby Monitor systemu wy£wietla│ warto£ci przekraczaj╣ce 100 procent. WiΩcej informacji na temat tego ustawienia i innych aspekt≤w gromadzenia danych wydajno£ciowych znajduje siΩ w sekcji äObiekty wydajno£ciö w rozdziale äOm≤wienie monitorowania wydajno£ciö.
Dysk logiczny|Dysk fizyczny \Czas zapisu dysku (%) Licznik ten raportuje ilo£µ czasu, w kt≤rym wybrany napΩd dyskowy jest zajΩty obs│ug╣ ┐╣da± zapisu.
Dysk logiczny|Dysk fizyczny \Czas odczytu dysku (%) Licznik ten raportuje ilo£µ czasu, w kt≤rym wybrany napΩd dyskowy jest zajΩty obs│ug╣ ┐╣da± odczytu.
Dysk logiczny|Dysk fizyczny \Czas bezczynno£ci (%) Licznik ten raportuje ilo£µ czasu, w kt≤rym system dyskowy nie przetwarza ┐╣da±, a jego kolejki s╣ puste. Nale┐y zauwa┐yµ, ┐e warto£µ tego licznika dodana do warto£ci licznika Czas dysku (%) mo┐e odbiegaµ od 100 procent. Dzieje siΩ tak, poniewa┐ licznik Czas dysku (%) mo┐e zawy┐aµ wykorzystanie dysku.


     U┐ywaj╣c licznik≤w czasu lub d│ugo£ci kolejki dysku nale┐y zdawaµ sobie sprawΩ z nastΩpuj╣cych ogranicze±, kt≤re mog╣ spowodowaµ raportowanie b│Ωdnych warto£ci:      Kolejne paragrafy opisuj╣, w jaki spos≤b mo┐na u┐ywaµ licznik≤w dysku do obserwowania ilo£ci wolnego miejsca i efektywno£ci operacji dyskowych.

Monitorowanie miejsca na dysku

     Monitorowanie ilo£ci miejsca dostΩpnego na dysku jest wa┐ne, poniewa┐ programy mog╣ przestaµ dzia│aµ w sytuacji, gdy nie bΩd╣ mog│y zapisywaµ danych na dysku. Dodatkowo niewielka ilo£µ przestrzeni dyskowej uniemo┐liwia wzrost pliku stronicowania, niezbΩdnego do obs│ugi pamiΩci wirtualnej. Podobny wp│yw na plik stronicowania ma stopie± fragmentacji dysku. WiΩcej informacji na temat ustawiania rozmiaru pliku stronicowania w celu uzyskania optymalnej wydajno£ci znajduje siΩ w rozdziale äOkre£lanie wykorzystania pamiΩci i buforaö.
     Miejsce na dysku mo┐na monitorowaµ za pomoc╣ licznik≤w Wolne miejsce (%) oraz Wolne megabajty. Je┐eli ilo£µ miejsca dostΩpnego na dysku jest niewielka, to mo┐na uruchomiµ program Oczyszczanie dysku dostΩpny w oknie dialogowym W│a£ciwo£ci dysku, skompresowaµ dysk lub przenie£µ czΩ£µ plik≤w na inne napΩdy. Nale┐y przy tym zwr≤ciµ uwagΩ, ┐e kompresja dysku powoduje pewien spadek wydajno£ci.
     Inn╣ mo┐liwo£ci╣ jest skorzystanie z Magazynu zdalnego, umo┐liwiaj╣cego utworzenie wirtualnego magazynu dyskowego sk│adaj╣cego siΩ z napΩd≤w ta£mowych lub optycznych. Je┐eli korzysta siΩ z tej us│ugi, to rzadko u┐ywane pliki s╣ przenoszone na ta£my lub inne no£niki. Woluminy Magazynu zdalnego nadaj╣ siΩ do przechowywania danych, z kt≤rych korzysta siΩ jedynie co jaki£ czas û np. raport≤w kwartalnych. Us│uga Magazynu zdalnego jest dostΩpna w komputerach u┐ywaj╣cych systemu Windows 2000 Server. WiΩcej informacji na temat innych mo┐liwo£ci przechowywania danych znajduje siΩ w rozdziale äMagazyn wymienny i kopie zapasoweö.
     Je┐eli korzysta siΩ z systemu plik≤w NTFS, mo┐na ograniczyµ ilo£µ miejsca, kt≤re mo┐e byµ alokowane przez poszczeg≤lnych u┐ytkownik≤w. Umo┐liwia to zak│adka Przydzia│ w oknie W│a£ciwo£ci dysku. Nale┐y jednak zwr≤ciµ uwagΩ, ┐e korzystanie z przydzia│≤w powoduje pewn╣ utratΩ wydajno£ci. Je┐eli korzysta siΩ z systemu plik≤w innego ni┐ NTFS, mo┐na skonfigurowaµ alarm zwi╣zany z licznikiem Wolne miejsce (%), pozwalaj╣cy na £ledzenie zmniejszaj╣cej siΩ przestrzeni dyskowej.
     Nawet je┐eli w danym momencie nie wystΩpuj╣ niedobory miejsca na dysku, nale┐y byµ £wiadomym wymaga± u┐ywanych aplikacji. Aby sprawdziµ, czy posiadany dysk zawiera wystarczaj╣c╣ ilo£µ wolnego miejsca, nale┐y pos│u┐yµ siΩ poni┐sz╣ procedur╣.

Aby ustaliµ zalecany rozmiar dysku, nale┐y:
  1. Dla osi╣gniΩcia najlepszych rezultat≤w rozpocz╣µ od 1 GB (mimo ┐e minimalny rozmiar dysku wymagany do zainstalowania systemu operacyjnego mo┐e byµ mniejszy).
  2. Dodaµ sumaryczny rozmiar wszystkich u┐ywanych aplikacji.
  3. Dodaµ rozmiar pliku stronicowania (zale┐y on od ilo£ci zainstalowanej pamiΩci fizycznej i powinien byµ od niej co najmniej dwa razy wiΩkszy).
  4. Dodaµ ilo£µ miejsca zaplanowanego dla u┐ytkownika pomno┐on╣ przez liczbΩ u┐ytkownik≤w.
  5. Wynik pomno┐yµ przez 1,3 w celu pozostawienia przestrzeni na dalszy rozw≤j £rodowiska pracy.
     Otrzymany rezultat okre£la zalecany rozmiar dysku w danym systemie.
Uwaga Fragmentacja dysku, mimo ┐e nie jest faktycznie problemem systemu dyskowego, zmniejsza poziom transferu i wyd│u┐a czasy wyszukiwania danych. Z tego powodu nale┐y stale monitorowaµ dysk, sprawdzaj╣c, czy jego fragmentacja siΩ nie zwiΩksza. W systemach, w kt≤rych zainstalowany jest tylko jeden dysk, do okre£lenia stopnia fragmentacji mo┐na pos│ugiwaµ siΩ licznikiem Podzia│y We/Wy/s. Je┐eli warto£µ tego licznika stale utrzymuje siΩ na wysokim poziomie, dysk nale┐y poddaµ defragmentacji. Proces ten nale┐y powtarzaµ okresowo w celu zagwarantowania optymalnej wydajno£ci dla przechowywanych danych.
     Na rysunku 30.2 przedstawiono wykres licznik≤w dysku, z w│╣czonym licznikiem Wolne miejsce (%). Nale┐y zauwa┐yµ, ┐e w przybli┐eniu w po│owie wykresu warto£µ tego licznika nagle wzros│a. Efekt ten zosta│ spowodowany usuniΩciem plik≤w z dysku.
     

Rysunek 30.2 Wzrost warto£ci licznika Wolne miejsce (%)

Monitorowanie wydajno£ci dysku

     Planuj╣c konfiguracjΩ systemu dyskowego, opr≤cz pojemno£ci dysku nale┐y wzi╣µ pod uwagΩ jego przepustowo£µ. Nale┐y korzystaµ z technologii magistrali, kontrolera, okablowania i napΩdu dyskowego, kt≤re charakteryzuj╣ siΩ najwy┐sz╣ wydajno£ci╣, op│acaln╣ w danej sytuacji. WiΩkszo£µ stacji roboczych dzia│a wystarczaj╣co wydajnie z zainstalowanymi komponentami systemu dyskowego o £rednich parametrach i cenie. Jednak┐e, je┐eli istotne jest zagwarantowanie najwy┐szej wydajno£ci, nale┐y korzystaµ z rozwi╣za± najnowocze£niejszych.
     Je┐eli komputer korzysta z dysk≤w, kontroler≤w i magistrali r≤┐nych rodzaj≤w, to zachodz╣ce pomiΩdzy nimi r≤┐nice mog╣ mieµ negatywny wp│yw na poziom przepustowo£ci. Mo┐e okazaµ siΩ konieczne przetestowanie przepustowo£ci przy u┐yciu r≤┐norodnych system≤w dyskowych w celu stwierdzenia, czy niekt≤re z nich nie charakteryzuj╣ siΩ znacznie gorszymi wynikami dla wszystkich lub niekt≤rych rodzaj≤w aktywno£ci. W razie potrzeby nale┐y zast╣piµ zbyt powolne komponenty innymi. Dodatkowe korzy£ci mo┐na osi╣gn╣µ korzystaj╣c z pewnych konfiguracji wolumin≤w. Przyk│adowo, woluminy roz│o┐one charakteryzuj╣ siΩ wysok╣ wydajno£ci╣, poniewa┐ przepustowo£µ jest zwiΩkszona dziΩki rozdzieleniu obci╣┐enia miΩdzy kilka napΩd≤w dyskowych (woluminy roz│o┐one nie s╣ jednak odporne na b│Ωdy). Monitor systemu umo┐liwia monitorowanie zestaw≤w wolumin≤w za pomoc╣ tych samych obiekt≤w i licznik≤w wydajno£ci, co u┐ywane do monitorowania pojedynczych dysk≤w. Nale┐y zwr≤ciµ uwagΩ na to, ┐e sprzΩtowe urz╣dzenia RAID s╣ widoczne dla systemu jako pojedyncze napΩdy fizyczne i z tego powodu nie udostΩpniaj╣ informacji o rozproszeniu operacji dyskowych pomiΩdzy poszczeg≤lnymi dyskami. WiΩcej informacji na temat wolumin≤w roz│o┐onych znajduje siΩ w Pomocy systemu Windows 2000.
     Informacje na temat parametr≤w dysku takich, jak czas wyszukiwania, szybko£µ obrotowa, czas dostΩpu i przepustowo£µ, mo┐na znaleƒµ w jego dokumentacji. Opr≤cz tych danych nale┐y wzi╣µ pod uwagΩ tak┐e szeroko£µ pasma gwarantowan╣ przez u┐ywane kable i kontrolery. Komponent o najni┐szej wydajno£ci wyznacza maksymaln╣ mo┐liw╣ do uzyskania przepustowo£µ dla ca│ego systemu dyskowego. Z tego powodu nale┐y monitorowaµ wszystkie jego sk│adniki.
     Aby por≤wnaµ wydajno£µ r≤┐nych dysk≤w nale┐y monitorowaµ te same liczniki podczas wykonywania analogicznych czynno£ci w ka┐dym z tych napΩd≤w. Je┐eli r≤┐nice w wydajno£ci oka┐╣ siΩ zauwa┐alne, to nale┐y rozwa┐yµ przeniesienie obci╣┐enia na dysk o lepszych parametrach lub wymianΩ wolniejszych komponent≤w.

Przygotowania do test≤w

     Je┐eli konieczne jest zebranie bardziej szczeg≤│owych danych na temat czΩsto£ci i natΩ┐enia aktywno£ci systemu dyskowego, nale┐y monitorowaµ liczniki zwi╣zane z odczytem i zapisem, w spos≤b opisany w kolejnych paragrafach. Aby rezultaty testowania by│y poprawne, nale┐y kierowaµ siΩ nastΩpuj╣cymi wskaz≤wkami:      Poni┐ej opisano zalecane testy, kt≤re nale┐y przeprowadziµ w celu okre£lenia wydajno£ci systemu dyskowego.

Testowanie maksymalnej przepustowo£ci

     Test maksymalnej przepustowo£ci pozwala okre£liµ poziom jednego z najwa┐niejszych ogranicze± systemu dyskowego. Aby go przeprowadziµ, nale┐y skorzystaµ z programu generuj╣cego ┐╣dania dyskowe. Programy takie mo┐na znaleƒµ w sieci WWW. Podczas tego testu nale┐y korzystaµ z nastΩpuj╣cych licznik≤w obiekt≤w Dyski fizyczny i Dysk logiczny:      Rysunek 30.3 ilustruje test maksymalnej przepustowo£ci. Nale┐y zwr≤ciµ uwagΩ, ┐e warto£ci licznik≤w îrednia liczba bajt≤w dysku/Odczyt oraz îrednia d│ugo£µ kolejki odczytu s╣ na tym wykresie ekstremalnie wysokie.
     

Rysunek 30.3 Dysk osi╣gaj╣cy maksymalny poziom przepustowo£ci

     Po okre£leniu maksymalnej przepustowo£ci dysku mo┐na dostosowaµ jego obci╣┐enie tak, aby nie powodowa│o powstawania w╣skiego gard│a.

Test operacji odczytu i zapisu

     Niekt≤re dyski lub konfiguracje dysk≤w dzia│aj╣ wydajniej podczas odczytu ni┐ podczas zapisu. Mo┐liwo£ci dysku zwi╣zane z odczytem i zapisem mo┐na por≤wnaµ odczytuj╣c, a nastΩpnie zapisuj╣c dane na ten sam dysk fizyczny. Aby zmierzyµ parametry odczytu i zapisu dysku nale┐y zarejestrowaµ i wy£wietliµ warto£ci licznik≤w obiekt≤w Dysk logiczny i Dysk fizyczny podanych w tabeli 30.2.      
Tabela 30.2 Liczniki mierz╣ce parametry odczyt≤w i zapis≤w

InformacjeLiczniki odczytuLiczniki zapisu

îredni rozmiar ┐╣dania îrednia liczba bajt≤w dysku/Odczyt îrednia liczba bajt≤w dysku/Zapis
îredni czas obs│ugi ┐╣dania îredni czas dysku w s /Odczyt îredni czas dysku w s /Zapis
Poziom transferu dla ┐╣dania Bajty odczytu dysku/s Bajty zapisu dysku/s
CzΩsto£µ przetwarzania ┐╣da± Odczyty dysku/s Zapisy dysku/s


     W typowych konfiguracjach dysk≤w mo┐na zazwyczaj obserwowaµ r≤┐nicΩ w czasie odczytu i zapisu danych na dysk. Przyk│adowo, dyski posiadaj╣ce szybk╣ pamiΩµ podrΩczn╣ dla operacji zapisu mog╣ bardzo szybko wykonywaµ te operacje, pod warunkiem, ┐e pomiΩdzy zapisami wystΩpuje wystarczaj╣co d│ugi okres bezczynno£ci. Z kolei, je┐eli odczyty s╣ sekwencyjne, to bardzo szybko mog╣ byµ wykonywane operacje odczytu û pod warunkiem, ┐e dysk ma czas na odczytanie danych z wyprzedzeniem. Odczyt z wyprzedzeniem polega na tym, ┐e dane, kt≤re prawdopodobnie bΩd╣ za chwilΩ ┐╣dane przez aplikacjΩ, s╣ z g≤ry odczytywane do bufora wbudowanego w napΩd dyskowy.
     W woluminach roz│o┐onych odczyt danych jest szybszy ni┐ ich zapis. Podczas odczytu pobierane s╣ jedynie dane, natomiast podczas zapisu dodatkowo nastΩpuje odczyt, modyfikacja i zapisanie danych o parzysto£ci. Wyj╣tkiem od tej regu│y s╣ zapisy pe│nego pasma danych (pasma s╣ jednostkami danych w woluminach roz│o┐onych), podczas kt≤rych nie zachodzi konieczno£µ odczytywania starych danych o parzysto£ci.
     Je┐eli podczas monitorowanej operacji odczytu zostanie rozpoczΩta operacja zapisu, mo┐na bΩdzie zaobserwowaµ przerwy w wykresie danych zwi╣zanych z czynno£ci╣ odczytu. Dzieje siΩ tak, poniewa┐ odczytuj╣ca dane aplikacja musi przerwaµ swoje dzia│anie na czas wykonywania zapisu na dysk. Po zako±czeniu zapisywania danych operacja odczytu jest kontynuowana. Efekt ten mo┐na zaobserwowaµ podczas rejestrowania danych przez us│ugΩ Dzienniki i alerty wydajno£ci.
     Na rysunku 30.4 przedstawiono wp│yw zapisu danych na wydajno£µ operacji odczytu. Nale┐y zauwa┐yµ, ┐e wzrostowi poziomu operacji odczytu towarzyszy niewielki spadek w poziomie operacji zapisu.


Rysunek 30.4 Wp│yw wsp≤│zawodnictwa na wydajno£µ operacji wej£cia/wyj£cia

Okre£lanie linii bazowej dla wykorzystania dysku

     Proces monitorowania dysku nale┐y rozpocz╣µ od ustalenia linii bazowej, czyli oczekiwanego poziomu wydajno£ci podczas typowego wykorzystania i obci╣┐enia systemu. Okre£lanie linii bazowej wi╣┐e siΩ z gromadzeniem i analizowaniem danych raportowanych przez r≤┐norodne liczniki dysku.

Gromadzenie danych

     Podczas okre£lania linii bazowej nale┐y monitorowaµ liczniki dysku wraz z licznikami innych obiekt≤w. Poni┐sza lista zawiera ich zalecany zestaw.      Rysunek 30.5 przedstawia typowy wykres otrzymywany podczas gromadzenia danych na temat og≤lnej wydajno£ci systemu
     

Rysunek 30.5 Konfiguracja licznik≤w dla monitorowania linii bazowej

     Aktywno£µ wy┐ej wymienionych licznik≤w nale┐y obserwowaµ o r≤┐nych porach dnia i w r≤┐nych okresach czasu, rozpoczynaj╣c od jednego dnia, przez jeden tydzie±, miesi╣c itd. Po pewnym czasie da siΩ zaobserwowaµ wzorzec obci╣┐enia systemu oraz fakt, ┐e warto£ci danych zazwyczaj mieszcz╣ siΩ w okre£lonym zakresie. Rezultatem tej obserwacji jest ustalenie linii bazowej.
     Je┐eli obci╣┐enie systemu mo┐na scharakteryzowaµ jako kr≤tkie serie intensywnej aktywno£ci, to dane na jego temat nale┐y monitorowaµ w niewielkich odstΩpach czasu û od dw≤ch do piΩciu sekund. W przeciwnym przypadku wystarczaj╣ce s╣ interwa│y 60-sekundowe. Je┐eli obci╣┐enie systemu zmienia siΩ w ci╣gu dnia, mo┐e siΩ pojawiµ konieczno£µ pr≤bkowania danych w mniejszych odstΩpach w okresach wysokiej aktywno£ci i w wiΩkszych odstΩpach, gdy aktywno£µ siΩ zmniejsza.
     Aby uzyskaµ najlepsze rezultaty, nale┐y spr≤bowaµ odizolowaµ dysk tak, aby nie wp│ywa│o na niego obci╣┐enie nie zwi╣zane z testami. Je┐eli dane licznik≤w wydajno£ci s╣ zapisywane na monitorowany dysk, to mierzone warto£ci bΩd╣ zawiera│y pewn╣ sk│adow╣ zwi╣zan╣ z zapisem ich do dziennika.

Analiza danych

     Podczas analizowania danych w okre£lonych porach dnia, nale┐y zwr≤ciµ uwagΩ na rodzaj pracy wykonywanej w tym czasie przez system. Znajomo£µ harmonogramu i natury obci╣┐enia monitorowanego systemu jest istotna, je┐eli chce siΩ zwiΩkszyµ jego wydajno£µ przez zmianΩ tego harmonogramu lub przeniesienie czΩ£ci zada± do innego komputera.
     Interpretuj╣c zarejestrowane dane nale┐y pamiΩtaµ o ograniczeniach licznik≤w wydajno£ci, kt≤re raportuj╣ sumy lub zwracaj╣ informacje na temat czasu dysku. Pierwsze z nich sumuj╣ zgromadzone dane i nie przeliczaj╣ ich ponownie dla poszczeg≤lnych dysk≤w, natomiast warto£ci licznik≤w rejestruj╣cych procentowy czasu dysku nie mog╣ przekroczyµ 100 procent. Zamiast nich lepiej korzystaµ z licznik≤w îrednia d│ugo£µ kolejki dysku, îrednia d│ugo£µ kolejki odczytu dysku i îrednia d│ugo£µ kolejki zapisu dysku. Liczniki te wy£wietlaj╣ dane na temat aktywno£ci dysku w postaci warto£ci dziesiΩtnych zamiast procentowych, dziΩki czemu mog╣ raportowaµ warto£ci powy┐ej 1,0 (100 procent). Nale┐y te┐ pamiΩtaµ o tym, ┐e mierzone warto£ci nale┐y przeliczyµ odpowiednio do u┐ywanej konfiguracji dysk≤w.
Uwaga Mimo ┐e warto£ci licznik≤w raportuj╣cych procentowy czas dysku domy£lnie nie mog╣ przekroczyµ 100 procent, to w razie potrzeby mo┐na to zachowanie zmieniµ za pomoc╣ edytora rejestru. WiΩcej informacji na ten temat znajduje siΩ w rozdziale äOm≤wienie monitorowania wydajno£ciö, w paragrafie äObiekty wydajno£ciö.
     Pojawiaj╣ce siΩ na wykresie äszpilkiö mo┐na wykluczyµ z linii bazowej, jednak┐e zawsze nale┐y najpierw spr≤bowaµ okre£liµ ich przyczynΩ. Przyk│adowo, je┐eli w ka┐dy pi╣tek wieczorem tworzona jest tygodniowa kopia zapasowa, to mo┐na zaakceptowaµ pojawianie siΩ w tym czasie warto£ci licznik≤w dysku przekraczaj╣cych typowe. Istotne jest, aby wiedzieµ, dlaczego te wyniki siΩ pojawiaj╣. Je┐eli wzorce wykorzystania dysku zaczynaj╣ siΩ zmieniaµ lub wydajno£µ linii bazowej nie jest zadowalaj╣ca, to nale┐y skorzystaµ z dodatkowych licznik≤w w celu przeanalizowania aktywno£ci i poziomu wykorzystania dysku w spos≤b opisany w kolejnych paragrafach. Mo┐e siΩ w≤wczas pojawiµ potrzeba rozbudowania zasob≤w dyskowych, co zosta│o opisane w dalszej czΩ£ci tego rozdzia│u, w paragrafie äUsuwanie w╣skich garde│ zwi╣zanych z dyskamiö. Je┐eli posiada siΩ dostΩp do kodu ƒr≤d│owego u┐ywanych aplikacji, to dobrym rozwi╣zaniem mo┐e byµ dostrojenie ich tak, aby efektywniej korzysta│y z danych zapisanych na dysku.
     Je┐eli warto£ci licznik≤w znajduj╣ siΩ poza zakresem wyznaczanym przez liniΩ bazow╣, to nale┐y postΩpowaµ wed│ug wskaz≤wek zawartych w kolejnym paragrafie. Je┐eli zostan╣ przy tym wykryte problemy lub zaistnieje konieczno£µ zwiΩkszenia wydajno£ci, nale┐y zapoznaµ siΩ z informacjami znajduj╣cymi siΩ w paragrafie äUsuwanie w╣skich garde│ zwi╣zanych z dyskamiö.

Analizowanie problem≤w wydajno£ciowych zwi╣zanych z dyskami

     Aby mo┐na by│o stwierdziµ, ┐e tworzy siΩ w╣skie gard│o, musz╣ jednocze£nie zaistnieµ pewne warunki. Zalicza siΩ do nich utrzymuj╣ca siΩ aktywno£µ dysku przekraczaj╣ca poziom zdefiniowany w linii bazowej i czΩste wystΩpowanie kolejek d│u┐szych ni┐ dwuelementowe przy jednoczesnym niewielkim natΩ┐eniu stronicowania. Je┐eli kombinacja tych czynnik≤w nie wystΩpuje, to istnienie w╣skiego gard│a zwi╣zanego z dyskiem jest ma│o prawdopodobne. Je┐eli podejrzewa siΩ wystΩpowanie problemu wydajno£ciowego dotycz╣cego dysku, nale┐y monitorowaµ nastΩpuj╣ce liczniki:
Uwaga CzΩsto£µ generowania przerwa± przez osprzΩt dysku, mimo ┐e nie znajduje odzwierciedlenia w aktywno£ci napΩdu, mo┐e posiadaµ znaczny wp│yw na wydajno£µ ca│ego systemu. Operacje wej£cia/wyj£cia dysku mog╣ czasem generowaµ tak du┐o przerwa±, ┐e spowoduj╣ obni┐enie wydajno£ci procesora. Sytuacja taka nie tworzy w╣skiego gard│a zwi╣zanego bezpo£rednio z dyskiem, lecz w╣skie gard│o procesora spowodowane przez system dyskowy. WiΩcej informacji na temat monitorowania przerwa± dysku i zmniejszania ich wp│ywu na wydajno£µ systemu znajduje siΩ w rozdziale äAnalizowanie aktywno£ci procesoraö.
     W kolejnych paragrafach opisano, w jaki spos≤b nale┐y interpretowaµ warto£ci wymienionych wy┐ej licznik≤w w celu potwierdzenia lub wykluczenia istnienia w╣skiego gard│a zwi╣zanego z dyskiem.

Monitorowanie stronicowania

     Symptomy niedoboru pamiΩci s╣ podobne do symptom≤w w╣skiego gard│a zwi╣zanego z dyskiem. Gdy pamiΩµ fizyczna jest zbyt ma│a, system zaczyna zapisywaµ jej zawarto£µ na dysk i odczytywaµ w mniejszych blokach. Proces ten jest nazywany stronicowaniem. Im mniej pamiΩci znajduje siΩ w systemie, tym czΩ£ciej jest u┐ywany dysk, co zwiΩksza obci╣┐enie systemu dyskowego. Z tego powodu, gdy podejrzewa siΩ wystΩpowanie w╣skiego gard│a zwi╣zanego z dyskiem, istotne jest monitorowanie tak┐e licznik≤w pamiΩci.
     Aktywno£µ stronicowania nale┐y monitorowaµ wraz operacjami odczytu i zapisu, u┐ywaj╣c do tego celu nastΩpuj╣cych licznik≤w:      Rysunek 30.6 przedstawia, w jaki spos≤b niedob≤r pamiΩci mo┐e spowodowaµ wysokie wskazania licznik≤w dysku.
     

Rysunek 30.6 Aktywno£µ stronicowania zestawiona z aktywno£ci╣ dysku

     Nale┐y zauwa┐yµ, ┐e powy┐szy rysunek przedstawia d│ug╣ kolejkΩ dysku, kt≤rej towarzyszy wysoki poziom stronicowania. Aby stwierdziµ, jak czΩsto system korzysta│ z dysku w celu pobrania stron, kt≤rych nie znalaz│ w pamiΩci lub w celu zapisu stron dla zwolnienia pamiΩci dla odczytywanych danych, nale┐y por≤wnaµ liczbΩ odczyt≤w stron z liczb╣ odczyt≤w dysku. Je┐eli warto£ci te s╣ wysokie, to oznacza, ┐e w systemie brakuje pamiΩci fizycznej. Gdyby do wykresu nie zosta│y dodane liczniki pamiΩci, to mo┐na by by│o wyci╣gn╣µ fa│szywy wniosek, ┐e dysk posiada zbyt ma│╣ wydajno£µ. Wymiana napΩdu dyskowego w tej sytuacji nie rozwi╣za│aby problemu.
     WiΩcej informacji na temat monitorowania pamiΩci i identyfikowania jej niedobor≤w znajduje siΩ w rozdziale äAnalizowanie wykorzystania pamiΩci i buforaö.

Monitorowanie wykorzystania dysku

     Wydajne dyski s╣ w stanie obs│u┐yµ od 50 do 70 swobodnych lub do 160 sekwencyjnych operacji wej£cia/wyj£cia w ci╣gu sekundy. Wydajno£µ systemu jest determinowana przez wydajno£µ u┐ywanego napΩdu, jak te┐ i przez inne czynniki, takie jak rozmiary ┐╣da±, czy szybko£µ magistrali. Maksymalny akceptowalny poziom wykorzystania dysku, jaki mo┐e zostaµ obs│u┐ony przez system dyskowy, nale┐y ustaliµ do£wiadczalnie. Warto£ci licznik≤w czasu dysku nie powinny przez d│u┐szy czas przekraczaµ poziomu okre£lonego jako linia bazowa wydajno£ci. Warto£ci utrzymuj╣ce siΩ na poziomie 70 do 85 procent mog╣ ju┐ stanowiµ pow≤d do niepokoju. Je┐eli jednak tworzy siΩ kolejka dysku, to ni┐sze poziomy jego wykorzystania mog╣ tak┐e wskazywaµ, ┐e nie jest on w stanie obs│u┐yµ obci╣┐enia. Je┐eli obserwuje siΩ ekstremalnie wysokie poziomy wykorzystania dysku, to nale┐y przeanalizowaµ mo┐liwe przyczyny takiej sytuacji. Monitoruj╣c licznik Transfery dysku/s û lub jego sk│adowe û Odczyty dysku/s i Zapisy dysku/s - mo┐na okre£liµ liczbΩ ┐╣da± obs│ugi. Warto£ci tych licznik≤w odzwierciedlaj╣ poziom wymaga± systemu zwi╣zanych z dyskiem.
     Je┐eli obci╣┐enie systemu dyskowego ma postaµ nag│ych serii wysokiej aktywno£ci, to czΩsto mo┐na zaobserwowaµ wystΩpuj╣ce po nich d│ugie okresy bezczynno£ci. Je┐eli korzysta siΩ jedynie z licznik≤w prezentuj╣cych warto£ci £rednie, mo┐e wydawaµ siΩ, ┐e dysk jest zajΩty w niewielkim stopniu û mimo ┐e w czasie tych serii tworzy│ siΩ efekt w╣skiego gard│a. Aby stwierdziµ, jak system dyskowy radzi sobie z obs│ug╣ takich serii, nale┐y korzystaµ z kr≤tkich interwa│≤w pr≤bkowania.
Uwaga Liczniki czasu dysku mog╣ raportowaµ niedok│adne warto£ci, je┐eli jest u┐ywany wiΩcej ni┐ jeden napΩd dyskowy. Niedok│adno£µ t╣ mo┐na skompensowaµ monitoruj╣c dodatkowo licznik Czas bezczynno£ci (%) i por≤wnuj╣c jego warto£µ z warto£ciami raportowanymi przez liczniki Czas dysku (%), Czas odczytu dysku (%) i Czas zapisu dysku (%).
     Rysunek 30.7 przedstawia maksymalne wykorzystanie dysku i tworz╣c╣ siΩ kolejkΩ.
     

Rysunek 30.7 Wysokie warto£ci czasu dysku

Monitorowanie d│ugo£ci kolejki

     Aby okre£liµ liczbΩ ┐╣da± wej£cia/wyj£cia oczekuj╣cych w kolejce, nale┐y £ledziµ warto£µ licznika îrednia d│ugo£µ kolejki dysku dla obiektu Dysk logiczny lub Dysk fizyczny. Nale┐y zauwa┐yµ, ┐e liczniki te mog╣ zawy┐aµ faktyczn╣ d│ugo£µ kolejki, poniewa┐ bior╣ one pod uwagΩ zar≤wno ┐╣dania znajduj╣ce siΩ w kolejce jak i aktualnie obs│ugiwane. W przypadku wolumin≤w z│o┐onych, kolejka kt≤rej d│ugo£µ nie spada poni┐ej liczby aktywnych dysk≤w fizycznych, wskazuje na tworzenie siΩ w╣skiego gard│a.
     Rysunek 30.8 przedstawia w╣skie gard│o, na kt≤re wskazuje wysoki poziom wykorzystania dysku i d│uga kolejka.
     

Rysunek 30.8 Wysoki poziom wykorzystania dysku i d│uga kolejka

Usuwanie w╣skich garde│ zwi╣zanych z dyskami

     Dysk, w kt≤rym tworzy siΩ w╣skie gard│o, mo┐e spowodowaµ spowolnienie ca│ego systemu. Je┐eli oka┐e siΩ, ┐e to zasoby dyskowe s╣ odpowiedzialne za og≤lny spadek wydajno£ci, to konieczne jest szybkie usuniΩcie tego problemu. Najbardziej oczywistym rozwi╣zaniem mo┐e siΩ wydawaµ wymiana dysku na wydajniejszy, jednak rozwi╣zanie prawid│owe zale┐y od przyczyny tworzenia siΩ w╣skiego gard│a.
     Dodanie dysku jest w│a£ciwym rozwi╣zaniem, gdy mo┐liwe jest przeniesienie do niego plik≤w, je┐eli mo┐na utworzyµ wolumin roz│o┐ony lub je┐eli na dotychczasowym dysku brakuje wolnego miejsca. Je┐eli jednak jedynym problemem jest brak wolnego miejsca na dysku, to nale┐y rozwa┐yµ mo┐liwo£µ poddania woluminu kompresji. Warunkiem koniecznym takiej operacji jest wystarczaj╣ca wydajno£µ procesora oraz to, ┐e ┐╣dania dyskowe w wiΩkszo£ci przypadk≤w s╣ du┐e. W przypadku systemu, z kt≤rego korzysta wielu u┐ytkownik≤w, mo┐na tak┐e zaimplementowaµ przydzia│y dyskowe, pozwalaj╣ce ograniczyµ przyrost plik≤w u┐ytkownik≤w.
     Je┐eli system dyskowy jest zbyt wolny, to nale┐y wzi╣µ pod uwagΩ nastΩpuj╣ce, alternatywne mo┐liwo£ci:

Analizowanie wykorzystania pamiΩci podrΩcznej i dysku przez aplikacje

     Tw≤rcy oprogramowania mog╣ byµ zainteresowani tym, czy ich programy wydajnie odczytuj╣ i zapisuj╣ dane, a ponadto w jaki spos≤b korzystaj╣ z pamiΩci wirtualnej systemu plik≤w. Niniejszy paragraf zawiera informacje pozwalaj╣ce na zidentyfikowanie sytuacji, w kt≤rych mo┐liwe jest zwiΩkszenie wydajno£ci operacji wej£cia/wyj£cia generowanych przez aplikacje.

DostΩp swobodny a sekwencyjny

     Jednym ze sposob≤w oceny efektywno£ci aplikacji w kwestii korzystania z dysku jest por≤wnanie liczby operacji dostΩpu swobodnego z liczb╣ operacji sekwencyjnych. Ze wzglΩdu na spos≤b dzia│ania dysku, sekwencyjny dostΩp do danych jest znacznie szybszy ni┐ dostΩp swobodny. Operacja wyszukiwania, zachodz╣ca gdy g│owica jest pozycjonowana nad w│a£ciwym cylindrem dysku w celu uzyskania dostΩpu do ┐╣danych danych, zajmuje wiΩcej czasu ni┐ jakikolwiek inny element operacji wej£cia/wyj£cia. Ze wzglΩdu na to, ┐e swobodny odczyt danych wymaga wiΩkszej liczby operacji wyszukiwania ni┐ odczyt sekwencyjny, charakteryzuje siΩ on ni┐szym poziomem przepustowo£ci. Zale┐no£µ ta zachodzi r≤wnie┐ dla swobodnych zapis≤w. U┐yteczne mo┐e siΩ okazaµ przeanalizowanie obci╣┐enia systemu dyskowego w celu sprawdzenia, czy przewa┐a w nim dostΩp swobodny, czy sekwencyjny. Je┐eli oka┐e siΩ, ┐e dostΩpy do dysku s╣ w wiΩkszo£ci swobodne, to konieczne mo┐e byµ szczeg≤│owe przeanalizowanie bie┐╣cej aktywno£ci systemu i monitorowanie ewentualnych w╣skich garde│.
     Je┐eli obci╣┐enie systemu dyskowego jest zwi╣zane zar≤wno ze swobodnymi, jak i sekwencyjnymi operacjami wej£cia/wyj£cia, nale┐y korzystaµ z napΩd≤w dyskowych o du┐ej prΩdko£ci obrotowej. Je┐eli w typowym obci╣┐eniu przewa┐aj╣ dostΩpy swobodne, nale┐y korzystaµ z dysk≤w o jak najmniejszym czasie wyszukiwania.
     W przypadku obci╣┐e± charakteryzuj╣cych siΩ wysokim natΩ┐eniem operacji wej£cia/wyj£cia, nale┐y wzi╣µ pod uwagΩ skonfigurowanie wolumin≤w roz│o┐onych. Technika ta pozwala na dodawanie fizycznych dysk≤w w celu zwiΩkszenia zdolno£ci systemu do obs│ugi r≤wnoczesnych ┐╣da± dyskowych. Nale┐y jednak zauwa┐yµ, ┐e programowo obs│ugiwane woluminy roz│o┐one mog╣ spowodowaµ zwiΩkszenie wykorzystania czasu procesora. Korzystanie ze sprzΩtowych wolumin≤w RAID pozwala wyeliminowaµ t╣ niedogodno£µ za cenΩ cykli obliczeniowych w sprzΩtowym adapterze RAID.
Uwaga Nawet je┐eli aplikacja odczytuje rekordy sekwencyjnie, je┐eli plik uleg│ fragmentacji, to operacje wej£cia/wyj£cia sekwencyjne nie bΩd╣. Je┐eli poziom transferu dla sekwencyjnych operacji z up│ywem czasu obni┐a siΩ, to nale┐y skorzystaµ z narzΩdzia Defragmentator dysku, a nastΩpnie powt≤rzyµ test. Je┐eli zachodzi fragmentacja, dane trac╣ organizacjΩ sekwencyjnych blok≤w na dysku. Fragmentacja zmniejsza wydajno£µ, poniewa┐ ci╣g│e przenoszenie g│owicy nad powierzchni╣ dysku jest stosunkowo wolne.

Rozmiary ┐╣da± wej£cia/wyj£cia

     Rozmiary ┐╣da± i czΩsto£µ, z jak╣ siΩ pojawiaj╣, s╣ istotne podczas analizy wsp≤│pracy aplikacji z dyskiem. Tw≤rcy oprogramowania mog╣ analizowaµ dane na temat ┐╣da± wej£cia/wyj£cia u┐ywaj╣c do tego celu licznik≤w takich, jak np. îrednia liczba bajt≤w dysku/Odczyt.
     Odczyt kilku du┐ych rekord≤w jest zazwyczaj operacj╣ szybsz╣ i bardziej efektywn╣, ni┐ odczyt wielu ma│ych rekord≤w. Niestety, r≤wnie┐ i w tym przypadku transfer danych osi╣gnie kiedy£ warto£µ szczytow╣. Jest to spowodowane tym, ┐e dysk przenosi du┐e bloki danych - ka┐da taka operacja trwa stosunkowo d│ugo. Ca│kowita przepustowo£µ jest jednak w tym przypadku do£µ wysoka. Kontrolowanie tego czynnika zazwyczaj nie jest │atwe. Je┐eli system dyskowy jest zmuszony przenosiµ wiele ma│ych jednostek danych, to mo┐e to wyja£niaµ brak jego wydajno£ci.
     »╣dania musz╣ mieµ rozmiar co najmniej 8 kilobajt≤w (KB), a w miarΩ mo┐liwo£ci powinny osi╣gaµ wielko£µ 64 KB. Sekwencyjne ┐╣dania o rozmiarze 2 KB wykorzystuj╣ znaczn╣ ilo£µ czasu procesora, co wp│ywa na og≤ln╣ wydajno£µ systemu. Je┐eli jednak mo┐na zagwarantowaµ, ┐e potrzebne s╣ jedynie 2 KB danych, to pobranie tej ilo£ci jest najefektywniejsze û wiΩksze operacje wej£cia/wyj£cia wykorzystuj╣ szersze pasmo kontrolera bezpo£redniego dostΩpu do pamiΩci (DMA). Wraz z rozmiarem rekordu zwiΩksza siΩ przepustowo£µ i zmniejsza czΩsto£µ transfer≤w û do przeniesienia tej samej ilo£ci danych potrzeba mniejszej liczby operacji odczytu.
     Korzystanie z 64-kilobajtowych ┐╣da± skutkuje zwiΩkszeniem przepustowo£ci i zmniejszeniem wykorzystania czasu procesora. Maksymalna przepustowo£µ zazwyczaj zachodzi w przypadku, gdy ┐╣dania maj╣ rozmiar w│a£nie 64 KB, za wyj╣tkiem urz╣dze±, kt≤re charakteryzuj╣ siΩ wy┐szym poziomem maksymalnej przepustowo£ci. Gdy transferowane s╣ bloki danych wiΩksze ni┐ 64 KB, to podsystem wej£cia/wyj£cia dzieli je na bloki o rozmiarze 64 KB. Powy┐ej tej warto£ci czΩsto£µ transfer≤w gwa│townie spada, a co gorsza wraz z ni╣ obni┐a siΩ poziom przepustowo£ci. Wykorzystanie procesora i czΩsto£µ przerwa± s╣ najni┐sze, gdy dane s╣ transferowane w blokach po 64 KB.

Analizowanie wykorzystania dysku przez aplikacje

     Aplikacje rzadko odczytuj╣ lub zapisuj╣ dane bezpo£rednio na dysku. Zamiast tego, kod aplikacji i dane s╣ zazwyczaj mapowane w pamiΩci podrΩcznej, sk╣d dopiero s╣ kopiowane do zestawu roboczego aplikacji. Gdy aplikacja tworzy lub zmienia dane, s╣ one mapowane w pamiΩci podrΩcznej, a nastΩpnie grupowo zapisywane na dysku. Dysk jest u┐ywany bezpo£rednio jedynie w≤wczas, gdy aplikacja ┐╣da bezpo£redniego dostΩpu do niego lub instruuje system plik≤w, aby w og≤le nie u┐ywa│ pamiΩci podrΩcznej dla jakiego£ pliku. Dzieje siΩ tak zazwyczaj w przypadku, gdy aplikacja korzysta z w│asnych funkcji buforowania danych. Z tego powodu analiza wykorzystania dysku przez aplikacje mo┐e byµ dokonywana za pomoc╣ licznik≤w pamiΩci podrΩcznej i pamiΩci fizycznej. Informacje na ten temat mo┐na znaleƒµ w rozdziale äAnalizowanie wykorzystania pamiΩci i buforaö.
     Podczas monitorowania wykorzystania dysku przez aplikacje mo┐e siΩ okazaµ, ┐e aplikacja, kt≤ra wysy│a wszystkie ┐╣dania wej£cia/wyj£cia jednocze£nie, generuje zawy┐one warto£ci licznik≤w Czas dysku (%), Czas odczytu dysku (%), Czas zapisu dysku (%) i îredni czas dysku w s/Transfer. Mimo ┐e przepustowo£µ mo┐e mieµ taki sam poziom dla aplikacji, kt≤re wysy│aj╣ ┐╣dania wej£cia/wyj£cia z przerwami, to warto£ci licznik≤w okre£laj╣cych czas obs│ugi ┐╣da± mog╣ byµ w ich przypadku ni┐sze. Jest istotne, aby zrozumieµ dzia│anie u┐ywanych aplikacji i podczas analizy wzi╣µ pod uwagΩ u┐ywane przez nie metody obs│ugi operacji wej£cia/wyj£cia.
     Je┐eli tw≤rca oprogramowania opracowuje w│asne narzΩdzia umo┐liwiaj╣ce testowanie wydajno£ci dysku, to podczas otwierania plik≤w testowych mo┐e korzystaµ z parametru FILE_FLAG_NO_BUFFERING. Parametr ten konfiguruje Mened┐er pamiΩci wirtualnej tak, aby omija│ pamiΩµ podrΩczn╣ i korzysta│ bezpo£rednio z dysku.