|
Przeprowadziłem siedem testów:
Celem testu nr 3 jest sprawdzenie efektywności schowka działającego na rzeczywistych danych składających się z wielu plików różnego rozmiaru.
Test nr 4 po odniesieniu do testu nr 3 umożliwia sprawdzenie, w jaki sposób zwiększenie aktywności dysku zawierającego schowek wpływa na efektywność schowka.
Celem testu nr 5 jest sprawdzenie wydajności schowka w momencie silnego obciążenia procesora stacji klienckiej.
Test nr 6 służy do sprawdzenia, jak duże obciążenie powoduje schowek, który nigdy nie realizuje żądania i dodatkowo obciąża stację kliencką przez ciągłe usuwanie nieaktualnych danych ze schowka. Jest to najbardziej pesymistyczny przypadek, gdy schowek zawsze opóźnia wykonanie zadania.
Test nr 7 służy do symulacji rzeczywistej sytuacji, w której operacje odczytu występują 6 razy częściej niż zapisu.
Niestety nie mogłem wykonać testów, porównujących moje rozwiązanie z rozwiązaniem Grega Badrosa. Po pierwsze, jego wersja opiera się na jądrze 2.0. Jądo w wersji 2.2 ma efektywniej zaimplementowaną wirtualną przestrzeń plików. Nawet dwie identyczne optymalizacje NFS dawałyby różne wyniki w zależności od wykorzystanego jądra. Po drugie kompilacja rozwiązania Grega Badrosa jest niemożliwa z powodu błędów, jakie się podczas niej pojawiają.
Aby odnieść się do rozwiązania Grega Badrosa, mógłbym porównywać wykonane przez niego testy z moimi testami. Tu z kolei pojawia się problem niejasnych lub niewiarygodnych testów. Przykładem są dwa wykonywane po sobie testy, gdzie zostaje odczytany 6,1MB plik. Przy pierwszym odczycie czas dostępu wynosi około 0,6 czasu dostępu standardowego NFS. Jest także mniejsza niż w standarodowym systemie NFS ilość komunikatów RPC obługujących fukcję read. Przy drugim odczycie czas dostępu wynosi około 0,1 czasu dostępu oryginalnego NFS. Nie jest powiedziane, czy seria tych dwóch testów jest wykonana raz czy wiele razy (w tym przypadku podany czas były średnią czasów wielu testów). Gdyby testy był wykonane jeden raz, to przy teście pierwszym, niemożliwe byłoby osiągnięcie mniejszej ilości komunikatów RPC14 względem standardowego NFS. Gdyby był wykonywany wiele razy, to schowek byłby rozgrzany i czas dostępu w pierwszym i drugim przypadku byłby taki sam15.