Apache Benchmark – testy wydajnościowe aplikacji PHP

Posted by

W ostatnim czasie napotkałem potrzebę analizy działania strony w środowisku lokalnym (developerskim) z obciążeniem zbliżonym do tego ze środowiska produkcyjnego.

Problem testowania wydajności może dotyczyć aplikacji, które nie są zoptymalizowane – – np. pod względem zapytań do bazy danych. Jednak może być też i tak że jedna instancja aplikacji działa na kilku domenach – wówczas obciążenie jest zdecydowanie większe, a jeśli doliczymy do tego brak optymalizacji po stronie kodu to wychodzi, że bez odpowiedniego narzędzia nie ma jak przetestować wydajności.

Podczas poszukiwań rozwiązania mojego problemu znalazłem program AB – Apache Benchmark. Nie trzeba instalować tego programu – już jest zainstalowany z serwerem apache (nie wiem czy jest jakiś odpowiednik dla nginx). Dla systemu windows i programu XAMPP znajdziemy go tutaj:
C:\xampp\apache\bin

Program oferuje kilkanaście parametrów, wśród najistotniejszych są:

  • -n liczba wszystkich zapytań do wykonania
  • – c jest to ilość jednoczesnych zapytań – musi być mniejscza bądź równa liczbie wszystkich zapytań
  • -t limit na wszyskite żądania
  • -s limit czasowy na każde z żądań
  • -m nazwa metody
  • -A autentykacja http

i jeszcze kilka więcej.

Program uruchamiamy poleceniem:

ab -n 100 -c 50 http://domena.dev/

W odpowiedzi dostaniemy kilka istotnych informacji na temat żądzań: czas na wszystkie zapytania, dla każdego z osobna itp.

Podsumowując, dzięki ab możemy szybki i łatwo przeprowadzić test wydajnościowy naszej aplikacji PHP.

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *