Testowanie wydajności serwisów WWW

upstream backend {

server 10.1.0.2 weight=5;

server 10.1.0.50;

server serwer.domena;

}

server {

location / {

proxy_pass http://backend;

}

}

W konfiguracji z load balancing możliwości skalowania aplikacji w poziomie stają się praktycznie nieograniczone o ile zapewnimy także mechanizm klastra na poziomie bazy danych – co nie jest problemem dla wszystkich najpopularniejszych obecnie silników SQL.

Po wykonaniu ciężkiej pracy nad optymalizacją aplikacji i architektury systemu warto sprawdzić, do czego udało nam się dojść na drodze kolejnych iteracji za pomocą narzędzi do badania obciążenia.

Apache Benchmark

Testowanie wydajności serwisów WWW

Tworzenie testu w programie Apache Jmeter

Do serwera webowego Apache dołączane jest oprogramowanie Apache Benchmark. Jest to polecenie linii komend do symulowania dużego obciążenia witryny internetowej. Zbiera przy tym szereg informacji, w tym: rodzaj i wersję serwera, czasy połączenia – minimalne, maksymalne, średnie. W raporcie przedstawia także procentowy rozkład czasów przetwarzania żądania.

Przykładowe uruchomienie programu może wyglądać tak:

ab -n 100 -c 10 -g dane_testowe.txt" rel="nofollow"" target="_blank" class="link">http://www.twoja-domena.com/index.html">" target="_blank" class="link">http://www.twoja-domena.com/index.html

Parametr „n” (number) oznacza liczbę wywołań strony, która ma zostać wykonana przez program. Za pomocą parametru „c” (concurrency) definiujemy jednoczesność połączeń, czyli ile połączeń będzie symulowanych w jednej chwili. Parametr „g” pozwala na zapisanie wyników pracy narzędzia do pliku graficznego dla programu gnuplot. Dzięki graficznej prezentacji wyników łatwiej jest analizować zwracane przez program dane.

Narzędzie pozwala na skonfigurowanie autoryzacji, jeśli witryna, którą badamy tego wymaga. Dla bardziej zaawansowanych użytkowników udostępnione są opcje wyboru protokołu, wysyłania spreparowanych nagłówków czy danych metodą POST.

Za pomocą Apache Benchmark możemy testować dowolne środowiska webowe – nie tylko te, oparte na serwerze Apache.


TOP 200