Testowanie wydajności serwisów WWW

Wydajne działanie serwisu internetowego firmy w wielu przypadkach oznacza dziś zapewnienie działania kluczowych dla niej procesów biznesowych. Nawet jeśli witryna internetowa nie jest miejscem, które odpowiada bezpośrednio za generowanie przychodów, to powolne i niewydajne jej ładowanie może negatywnie wpływać na wizerunek firmy. O ile czas ładowania witryny dość łatwo zweryfikować, o tyle do sprawdzenia, jak zachowuje się pod obciążeniem, warto skorzystać z przeznaczonych do tego programów lub platform w chmurze.

Na szybkość działania aplikacji webowej ma wpływ zarówno sama jej budowa, jak i środowisko, w której została uruchomiona. Jeśli programiści nie dokonali odpowiednich optymalizacji w kodzie serwisu, nie zweryfikowali nieefektywnych zapytań do bazy danych oraz nie zadbali o efektywną budowę wynikowych plików HTML przesyłanych do przeglądarki użytkownika, trudno liczyć na dobre efekty.

Optymalna architektura

Testowanie wydajności serwisów WWW

Udział rynkowy serwerów webowych

Z drugiej strony niezbędne jest odpowiednie dopasowanie architektury serwisu, tak aby była ona skalowalna i zapewniała możliwość rozbudowy wraz z rosnącymi potrzebami. Zwiększający się ruch na witrynie internetowej nie powinien stanowić powodu do obaw dla jej właściciela. Ważnym czynnikiem jest także odpowiednie zoptymalizowanie również samego oprogramowania serwera WWW. Domyślne ustawienia najpopularniejszego obecnie serwera Apache limitują maksymalną liczbę możliwych połączeń i szereg innych parametrów. Kilka godzin poświęconych na eksperymenty i lektura powszechnie dostępnych poradników optymalizacji, często mogą znacznie podnieść wydajność instalacji. W wielu przypadkach warto także przemyśleć zastosowanie alternatywnego oprogramowania serwera WWW. Dla środowisk linuksowych godnym polecenia jest Nginx, który w wielu testach okazuje się znacznie bardziej wydajny przy serwowaniu zawartości statycznej serwisów. Minusem rozwiązania jest brak modułu PHP, jak w przypadku Apache, ale można to łatwo rozwiązać instalując dodatkowo serwer PHP-FPM. Istotną przewagą serwera Nginx jest dużo mniejsze zapotrzebowanie na pamięć operacyjną, z którego wynika także możliwość obsługi większej liczby połączeń na maszynie o takich samych parametrach. Na korzyść Apache w przypadku aplikacji PHP świadczy wspominany moduł PHP oraz większa popularność. Według badań Netcraft jest on stosowany w przeszło 44% przypadków.

W praktyce często stosuje się kombinację serwera Nginx do serwowania zawartości statycznej i Apache do obsługi żądań wymagających obsługi przez język PHP.

Prostszy wybór mają architekci rozwiązań opartych na technologiach webowych Microsoft, ale i tutaj często stosuje się wspomaganie przez serwery open source do wydajniejszego serwowania zawartości statycznej.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200