• Nie Znaleziono Wyników

Testowanie wydajności

5. Infrastruktura informatyczna projektu e-matura oraz testowanie wydajności

5.2 Testowanie wydajności

W trakcie wykonywania projektu e-matura, wykonawcy starali się stworzyć niezawodną i wydajną platformę do przeprowadzania egzaminów. Infrastruktura informatyczna oraz autorskie oprogramowanie w trakcie projektu były stale rozwijane i optymalizowane. Źródłem informacji na temat jakości przyjętych rozwiązań były oczywiście testy i symulacje przeprowadzane w celu sprawdzenia każdej innowacji.

Najlepszym zaś testem całego projektu były egzaminy próbne z udziałem uczniów szkół średnich województwa łódzkiego.

Ponieważ kluczowym elementem projektu jest rozbudowany serwis www, oczywistym wydaje się, że najważniejszym parametrem badanym powinna być prędkość przepływu danych. Jest ona bardzo ważna z punktu widzenia komfortu pracy użytkowników (uczniów i nauczycieli) z takim systemem. Dla autorów oprogramowania badanie prędkości przepływu danych to sposób znajdowania miejsc spowalniających system, potencjalnie mogących być przyczyną awarii.

Na rys. 5.4 przedstawiono uproszczony schemat systemu informatycznego, wskazujący kierunki przesyłania danych. Porównując ten rysunek z bardziej szczegółowym rys. 5.1, łatwo można rozpoznać charakterystyczne elementy systemu:

• macierz dyskową,

• bazę danych,

• serwer aplikacji,

• router.

Wykorzystując narzędzia będące w dyspozycji wykonawcy projektu, mierzono prędkość przesyłania oraz ilość danych w newralgicznych miejscach (rys. 5.4.):

• między bazą danych a serwerem aplikacji,

• między serwerem aplikacji a routerem,

• w łączu od routera do dostarczyciela Internetu.

W trakcie wykonywania projektu okazało się, że najważniejszym czynnikiem spowalniającym system jest transmisja danych między serwerem aplikacji a routerem.

Dlatego, to właśnie ten parametr był stale monitorowany i analizowany. Uzyskane wyniki zostaną przedstawione w dalszej części rozdziału.

Pomiary wykonywano wykorzystując następujące urządzenia i oprogramowanie:

• przełączniki sieci Ethernet (P1 i P2 z rys. 1) wspierające protokół SNMP (Simple Network Management Protocol), raportujące na bieżąco parametry pracy,

• oprogramowanie zbierające dane z przełączników przez protokół SNMP, wykorzystano do tego celu program PRTG Traffic Grapher,

• dane wykreślano w programie MS Excel.

Na rys. 5.5, 5.6 i 5.7 przedstawiono prędkość transmisji danych podczas wybranych egzaminów próbnych. Na osi poziomej tych wykresów jest czas mierzony w minutach, liczony od formalnego rozpoczęcia egzaminu. Zwykle egzamin rozpoczynał się o godzinie dziewiątej.

Rys. 5.4 - Uproszczony schemat systemu informatycznego projektu.

Analizując te wykresy można zauważyć, że ruch w sieci zaczyna się około 60 do 120 minut przed formalnym rozpoczęciem egzaminu. W pierwszej chwili może to dziwić. Nie jest to jednak błąd. Wzmożony ruch wskazuje, iż w szkołach biorących udział w egzaminach próbnych z pewnym wyprzedzeniem przygotowywano się do egzaminu – uruchamiano komputery, otwierano witrynę projektu i pobierano aplikację. Egzaminy rozpoczynały się zwykle o godzinie dziewiątej, czyli w chwili zero na wykresach, w momencie wyznaczonym przez serwer aplikacji. Wtedy zaczynały być pobierane treści pytań i zaczynały spływać odpowiedzi.

Na rys. 5. widać duży szczyt obciążenia sieci. Dokładniej, szczyt ten dotyczył danych wysyłanych przez serwer do użytkowników. Oznacza to, że w momencie rozpoczęcia egzaminu (czas zero) obciążenie serwera i łącz gwałtownie wzrosło, ponieważ w tej samej chwili bardzo wielu użytkowników zalogowało się i rozpoczęło pracę. Szczyt ten sięgał 160 Mb/s (megabitów na sekundę), czyli bardzo dużo, uwzględniając maksymalną przepustowość łącza 1000 Mb/s.

Występowanie takiego szczytu może oznaczać, że wydłuża się czas oczekiwania na odpowiedź, co utrudnia korzystanie z serwisu.

Internet

Serwery aplikacji Router

Baza danych

Macierz dyskowa

Monitorowanie

Podjęto działania w celu zmniejszenia ilości przesyłanych danych i wyrównania obciążenia łącza. Skuteczność tych zabiegów można ocenić porównując rys. 5.5 z rys. 5.6.

i 5.7. Dla ułatwienia analizy wszystkie wykresy przedstawiono w tej samej skali.

Rys. 5.5 - Prędkość transmisji danych podczas egzaminu próbnego 7 grudnia 2011 r.

Poniżej opisano najważniejsze zmiany, które przyczyniły się do zmniejszenia ruchu w sieci.

Na początku realizacji projektu w pierwszych wersja aplikacji wysyłano z serwera do uczniów zdających egzamin treść wszystkich pytań egzaminacyjnych w jednej „paczce”.

Dane te nie były przechowywane w pamięci podręcznej serwerów-pośredników http (ang. Proxy). Aby zlikwidować ten problem zmodyfikowano aplikację w taki sposób, aby do użytkownika wysyłać na raz tylko pięć zadań – to, którego żąda oraz zadania poprzedzające i następne. Spowodowało to zmniejszenie szczytu ponieważ w momencie rozpoczęcia egzaminu wysyłano jedynie po dwa zadania (treści zadań) potem zaś uczniowie pracując w indywidualnym tempie pobierali dalsze zadania niejednocześnie.

Wprowadzono buforowanie zadań przez serwer aplikacji, co też poprawiło sytuację.

Kolejną innowacją było wprowadzenie kompresji danych, co jeszcze bardziej zmniejszyło obciążenie łącz sieciowych.

Zredukowano liczbę połączeń między aplikacją kliencką (na komputerach uczniowskich) a serwerem aplikacji przez zastosowanie kolejkowania wysyłanych wiadomości – zadań, odpowiedzi i zdarzeń opisujących przebieg egzaminu. Kolejki utworzono po stronie serwera i aplikacji klienckiej.

Aplikacja kliencka składała się z kilku modułów. Pierwotnie do komputera ucznia zdającego egzamin wysyłano wszystkie moduły jednocześnie. Po modernizacji oprogramowania moduły wysyłano w momencie, w którym miały być użyte po raz pierwszy.

Rys. 5.6 - Prędkość transmisji danych podczas egzaminu próbnego 20 kwietnia 2012 r.

Rys. 5.7 - Prędkość transmisji danych podczas egzaminu próbnego 9 kwietnia 2013 r.

Rys. 5.8 - Ilość przesłanych danych podczas egzaminu próbnego 7 grudnia 2011 r.

Interesujących wniosków może dostarczyć analiza ilości przesyłanych danych rys. 5.8.

Analizując wykres można dostrzec, że ilość danych wysyłanych przez serwer aplikacji do użytkowników (uczniów i nauczycieli) jest dużo większa niż ilość danych przesyłanych do serwera. W przybliżeniu danych wysyłanych jest dziesięciokrotnie więcej niż odbieranych.

Wynika to z tego, że do komputera każdego użytkownika trzeba dostarczyć aplikację i treść zadań egzaminacyjnych czyli dane o stosunkowo dużej objętości. Natomiast egzaminowani uczniowie wysyłają do serwera jedynie odpowiedzi, zawierające znacznie mniej danych. Ponadto transmitowane są jeszcze dane sterujące - uwierzytelnienia i żądania wyświetlenia stron oraz zdarzenia generowane w aplikacji klienckiej.

Największy przyrost ilości wysyłanych danych występuje w czasie zero czyli na początku pierwszej tury egzaminu i około 120-180 minuty czyli w czasie gdy uczniowie pierwszej tury kończą rozwiązywanie zadań, a uczniowie drugiej tury rozpoczynają pracę. W środku obu tur egzaminu czyli w czasie 60-120 i 240-300 jest systematyczny ale mniejszy przyrost danych.

Rys. 5.9 - Całkowita ilość przesłanych danych podczas wszystkich egzaminów próbnych.

Rys. 5.10 - Ilość przesłanych danych oraz ilość danych przypadająca na uczestnika podczas wszystkich egzaminów próbnych.

Porównanie rys. 5 i 8 uwidacznia, że największy przyrost przesyłanych danych zbiega się w czasie z największą prędkością transmisji ponieważ parametry te są ze sobą powiązane.

Na rys. 5.9. przedstawiono wykresy przesyłanych danych (wysyłanych i odbieranych łącznie) podczas wszystkich egzaminów próbnych przeprowadzonych w trakcie projektu.

Całkowita ilość przesłanych danych jest zależna od liczby zdających oraz od rozwiązań zastosowanych w aplikacji zaimplementowanej na serwerach projektu rys. 5.10.

Interesujące jest porównanie ilości danych przypadających na jednego egzaminowanego transmitowanych w kolejnych egzaminach próbnych. Ilość danych najpierw malała, co było efektem optymalizowania aplikacji. Podczas egzaminu w marcu 2012 roku, podczas egzaminu wystąpiła awaria. Strony www i aplikacja projektu były przez pewien czas niedostępne. Późniejsza analiza wykazała, że przyczyną usterki była nadmierna ilość danych przypadająca na jednego uczestnika, co widać na rys. 5.10.

Po tym doświadczeniu aplikacja została zmodyfikowana, ilość danych zmalała i kolejne egzaminy odbyły się bez przeszkód. W ostatnich egzaminach ilość danych znowu wzrosła, wiązało się to zapewne z faktem wprowadzenia zadań zawierających animacje.

Zmodyfikowana aplikacja projektu uwzględniała już to i nie wystąpiły żadne zacięcia.

Gertruda Gwóźdź-Łukawska

6. Porównanie przydatności stosowania testów

Powiązane dokumenty