Choćby w komentarzach przy wpisie (poradniku) dotyczącym przygotowania i konfiguracji serwera WWW pojawiają się w komentarzach propozycje, by Apache zastąpić np. Lighttpd czy Nginx.

Jest to argumentowane mniejszym zużyciem pamięci RAM, mniejszym obciążeniem procesora czyli ogólnie wydajnością. Za Apachem przemawia popularność – a tym samym ilość poradników, chyba prostsza konfiguracja i możliwości – w tym choćby ilość „modów” (pluginów).

Sprawa nie jest też taka oczywista jeśli chodzi o wydajność – niekoniecznie zmiana Apache2 np. na Nginx przyniesie ze sobą zwiększenie wydajności – czasem jest wręcz odwrotnie.

Ale najpierw trzeba to jakoś sprawdzić/przetestować, i tu doskonale sprawdzi się narzędzie wchodzące w skład Apache – nie tylko do testów serwerów na tym środowisku.

ab – Apache HTTP server benchmarking tool

Jest to prosty program wchodzący w skład serwera Apache2, a konkretnie w skład paczki „apache2-utils”.

Jeśli na serwerze nie mamy, to np. w systemie Debian możemy szybko doinstalować:

sudo apt-get install apache2-utils

Testujemy serwer – testujemy stronę

Przykładowe polecenie dla przetestowania strony „jakaś-strona-www.pl” będzie wyglądało tak:

ab -n 1000 -c 50 http://jakaś-strona-www.pl/

Gdzie:

  • n – ilość „pobrań strony” (symuluje przeglądarkę)
  • c – jednoczesna ilość żądań (domyślnie 1, ilość „użytkowników” w jednej chwili)

W tym przypadku jest to 20 paczek po 50 „odwiedzających” za każdym razem (20×50=1000, 100/50=20).

Obie wartości zazwyczaj trzeba dobrać indywidualnie do konkretnego testu – inaczej się testuje np. stronę na jakimś CMSie (np. WordPress) gdzie każdorazowe odpytanie serwera generuje więcej „roboty” dla niego, niż ma to miejsce w przypadku statycznej strony (zwykły HTML) – tak by test trwał dłużej niż ułamek sekundy…

Przykładowy wynik testu:

Warto jeszcze wspomnieć o parametrze „-k”, który aktywuje dla testu opcję „KeepAlive”, czyli podtrzymywanie sesji dla połączeń z serwerem.

Jeśli chcemy zmierzyć wydajność skryptu – dodajemy taką opcję, dzięki czemu odpadnie czas potrzebny na każdorazowe „zestawiania połączenia” z serwerem:

ab -n 1000 -c 100 -k http://jakaś-strona-www.pl/

Jeśli zamierzamy przeanalizować zarówno pracę skryptu (strony) jak i całego serwera, wraz z łączem do niego – nie korzystamy z tej opcji.

Więcej informacji znajdziecie na stronie projektu, jak i w Wikipedii.

(!) Zgłoś błąd na stronie
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)
Napisz komentarz
wipl_napisz-komentarz_01
Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.