Dyski twarde - przyspieszanie pracy (część 2) 2001-01-22 (13:00)
W jednym kawałku...
Umiejscowienie pliku wymiany w odpowiednim miejscu na "twardzielu" oraz defragmentacja dysku to kolejne metody na przyspieszenie pracy dysku. Na ile skuteczne? Przekonajmy się.
Tydzień temu zajmowaliśmy się określaniem optymalnej wielkości "swap file" - tym razem przyjrzymy się nieco uważniej wpływowi jego umiejscowienia na ogólną wydajność systemu.
Wymiana na całego
|
Położenie pliku wymiany ma stosunkowo duże znaczenie dla wydajności jego pracy. Wyjaśnienie tego zjawiska jest proste - spójrzmy na rysunek 1.
|
Widzimy na nim rozkład prędkości odczytu informacji w zależności od położenia odczytywanych sektorów. Jak łatwo zauważyć, przesył danych z początkowych sektorów dysku jest o kilkanaście procent lepszy od transferu z obszarów umieszczonych na jego końcu. Wynika to z budowy dysku twardego - dostęp do początkowych sektorów, znajdujących się w zewnętrznej strefie talerza, na którym zapisane są informacje, jest szybszy - głowica w tym samym czasie odczytuje większą ilość informacji.
By przekonać się o słuszności tej tezy, przeprowadziliśmy testy dla dysku podzielonego na cztery partycje FAT32. Każda z nich umieszczona była w innym obszarze "twardziela". Dodatkowo przeprowadziliśmy również testy porównawcze dla partycji NTFS. Całą procedurę wykonaliśmy dwukrotnie - raz dla komputera wyposażonego w 64 oraz, powtórnie, przy dostępnych 192 MB RAM.
|
|
Zgodnie z oczekiwaniami, rezultat pomiarów wydajnościowych przeprowadzonych dla pierwszej partycji FAT32 jest najlepszy, kolejne wyniki są proporcjonalnie słabsze. Całkowicie odmienną sytuację możemy zaobserwować w przypadku partycji typu NTFS. Zachodzi tutaj dokładnie odwrotna tendencja! Wynika stąd prosty wniosek praktyczny - jeśli korzystamy z systemu Windows 9x i wirtualną pamięć założono na dysku typu FAT32, plik wymiany powinien "wylądować" na początku "twardziela", jeśli natomiast korzystamy z NTFS, najlepszym możliwym miejscem na jego położenie są końcowe sektory naszego "hadeka".
W jedności siła
Koncepcja podziału plików na mniejsze, "atomowe" elementy powoduje pewne praktyczne konsekwencje. Każdy z przechowywanych plików jest w istocie zbiorem milionów "cegiełek" poukładanych w porządku określonym w tablicy partycji. Nie oznacza to jednak, iż poszczególne "kawałki" leżą jeden za drugim, zgodnie ze strukturą wewnętrzną pliku.
|
Dopóki dysk twardy jest w znacznej części pusty oraz pliki są stosunkowo rzadko kasowane sytuacja jest dosyć prosta - odpowiednie mechanizmy odpowiedzialne za wykorzystanie naszego "twardziela" umieszczają dane w należytym porządku. Problemy zaczynają się nieco później. W dotąd jednolitej strukturze ułożenia plików pojawiają się "dziury" - miejsca po skasowanych plikach. Zbiory nagrywane później trafiają właśnie w takie zwolnione obszary dysku. Jeżeli zapisywany plik jest dłuższy niż zwolniona przestrzeń, "nadmiarowe" klastry trafiają w inny, wolny obszar dysku (rysunek 3). W prezentowanym przykładzie kolejne fragmenty znalazły się w stosunkowo niewielkiej odległości względem siebie. W rzeczywistości poszczególne elementy mogą trafić w dowolne, czasem bardzo odległe obszary dysku. Łatwo sobie wyobrazić, jak bardzo wydłuża to dostęp do zbiorów, tym bardziej że w ekstremalnych sytuacjach pojedyncze pliki mogą być podzielone na kilkaset, a nawet kilka tysięcy części.
|
By "poukładać" dane na naszym dysku w odpowiednim porządku, należy zastosować jedną ze specjalizowanych aplikacji - defragmenter. Przyjrzyjmy się kilku różnym narzędziom tego typu, by wybrać to, które najlepiej spełnia swoje zadanie. Użytkownicy systemów Windows 98, jak również NT/2000 mogą wykorzystać aplikację Defragmentator dysku. Czy jest to rozwiązanie najlepsze? Niekoniecznie - program spełnia wprawdzie podstawową funkcję, jednak nie robi nic ponadto. Brak jakichkolwiek dodatkowych możliwości czy też definiowania reakcji programu na ewentualne nietypowe sytuacje to jego istotna wada. Jeśli zamierzamy zdefragmentować plik wymiany i zoptymalizować jego położenie, nie oczekujmy pomocy ze strony powyższego narzędzia. Ilość informacji prezentowanych w trakcie pracy z programem nie jest wystarczająca do przeprowadzenia dokładnej analizy stopnia fragmentacji twardego dysku. Schematyczna prezentacja graficzna "twardziela" oraz Raport analizy to jedyne udostępnione użytkownikowi formy kontroli "integralności" twardziela.
Znacznie lepiej spisuje się Diskeeper, który jest prekursorem wspomnianego wcześniej programu. Aplikacja, oprócz znacznie szybszej pracy, dodatkowo umożliwia zdefragmentowanie plików niedostępnych dla narzędzi tego typu w trakcie normalnej pracy - plików systemowych, katalogów (możliwa jest ich konsolidacja), pliku wymiany czy też głównej tablicy plików (w przypadku systemu plików NTFS). Jest to możliwe dzięki odpowiedniemu modułowi, który wykonuje wymagane czynności przed startem właściwego systemu operacyjnego. W trakcie normalnej pracy w Windows 2000 istnieje możliwość uruchomienia dodatkowych serwisów - Paging File Frag Guard oraz MFT Frag Guard, zapewniających zachowanie odpowiednich plików czy też obszarów systemowych w całości. Pewną wadą tego narzędzia jest konieczność kilkakrotnego przeprowadzania defragmentacji przed osiągnięciem zadawalających wyników.
|
Defragmentacja w trakcie bootowania systemu, a co za tym idzie szansa na uporządkowanie plików systemowych, to jedna z możliwości programów O&O Defrag oraz Perfect Disk 2000. Druga aplikacja warta jest szczególnej uwagi - dostępne opcje zapewniają wygodne przeprowadzenie defragmentacji. Pewną ciekawostką jest to, że narzędzie przyjmuje niespotykaną gdzie indziej strategię rozmieszczania plików. Scalone dane umieszczane są na końcu dysku.
Opisane aplikacje mają niewątpliwie dużo zalet, jednak to pakiet firmy Symantec - Norton SystemWorks 2001 - a dokładniej jeden z jego składników, Speed Disk, zapewnia najlepsze rezultaty. Defragmentowane pliki są rozmieszczane zgodnie z częstością ich wykorzystania - pliki, które są najczęściej wykorzystywane, trafiają na początek dysku, dane, do których dostęp powinien być najszybszy, "lądują" na środku twardziela (czas dostępu do takich plików jest najkrótszy), natomiast rzadko wykorzystywane są umieszczane na końcu "hadeka". Mało tego - użytkownik może samodzielnie zdefiniować, które z plików mają znaleźć się w określonym przez niego miejscu. Jeżeli zależy nam na tym, by defragmenter pominął wybrane pliki w trakcie porządkowania "twardziela", Speed Disk zapewnia nam proste rozwiązanie - mechanizm umożliwiający określenie "nietykalnych" plików.
By sprawdzić, w jaki sposób fragmentacja dysku wpływa na wydajność systemu, przeprowadziliśmy niezależne testy dla systemu FAT32 oraz NTFS w zależności od stopnia fragmentacji plików znajdujących się na nich. Dodatkowo sprawdziliśmy, w jaki sposób różna ilość pamięci operacyjnej wpływa na wydajność pracy dysku twardego. W naszych testach wykorzystaliśmy konfigurację zawierającą 64 oraz 192 MB RAM. Należy tu wspomnieć o jednym, dosyć istotnym fakcie - NTFS zawiera wbudowane mechanizmy w pewnym stopniu optymalizujące rozmieszczanie plików w odpowiednim porządku. Nie liczcie jednak na to, że defragmentacja przestaje być konieczna.
|
Wyniki wskazują na poprawę wydajności systemu - po defragmentacji zmniejsza się obciążenie procesora przy zwiększonych "osiągach" dysku, nie są to jednak znaczące różnice. Wynika stąd prosty wniosek - regularne porządkowanie dysku ma wpływ nie tylko na optymalizację pracy "twardziela", dzięki niemu odzyskujemy również nieco mocy obliczeniowej komputera, nie spodziewajmy się jednak rewolucji. Mniejsza fragmentacja partycji typu NTFS (rzędu 15 %) zaowocowała mniejszymi zyskami po uporządkowaniu "hadeka". W przypadku partycji NTFS również obciążenie procesora nie zmieniło się w istotnym stopniu.
|
Zauważmy znaczący skok wydajności pracy dysku związany ze zwiększeniem ilości dostępnej pamięci operacyjnej. Pisaliśmy o tym nieco wcześniej - tutaj mamy tego bezpośredni dowód - więcej pamięci oznacza poprawienie jakości pracy dla całego systemu.
Warto czy nie warto...
Niewątpliwie większość z nas stara się zoptymalizować pracę swojego komputera tak, by praca z nim stała się po prostu wygodniejsza. Czy "twardziel" łatwo poddaje się takim operacjom? Jak widać z rezultatów naszych testów, można zrobić mnóstwo, by nośnik danych stał się szybszy oraz obciążał system w znacznie mniejszym stopniu. Od czego jednak zacząć?
Podstawową rzeczą, wręcz obowiązkiem, przynoszącym najlepsze rezultaty jest włączenie trybu UDMA. Skok wydajności, jaki zyskujemy po przeprowadzeniu tej prostej operacji, jest gigantyczny. W naszych testach przełączenie trybu pracy dysku z PIO-4 do UDMA-2 spowodowało ponad dwukrotne zwiększenie wydajności "twardziela" oraz zmniejszenie obciążenia procesora o 60%.
Kolejną formą poprawy warunków pracy twardziela jest defragmentacja dysku. Jej efektywność jest ściśle zależna od stopnia podziału plików na "oczyszczanej" partycji - w przypadku fragmentacji rzędu kilku, kilkunastu procent nie oczekujmy wyraźnie widocznych efektów. Skok wydajności zaobserwujemy po usunięciu fragmentacji powyżej kilkudziesięciu procent - o wiele jednak prostszym rozwiązaniem jest systematyczne uruchamianie defragmentera raz na kilka tygodni i niedopuszczenie do powstania takiej sytuacji.
Każda z pozostałych opisywanych metod oznacza kilkuprocentowe zwiększenie wydajności dysku, często powiązane ze zmniejszeniem obciążenia procesora, dlatego też warto wykorzystać wszystkie dostępne formy przyspieszania pracy, szczególnie iż koszt przeprowadzenia opisywanych operacji jest znikomy.
Zobacz także:
Dysk musi być! - test 28 dysków twardych EIDE
Dyski twarde - przyspieszanie pracy (część 1)
Dyski twarde - technologie