Serwery webowe - konkurencja się zaostrza

W sytuacji aplikacji dynamicznej, przed decyzją o wyborze serwera WWW należy przeprowadzić testy konkretnej aplikacji, którą chcemy uruchamiać. Czas zaoszczędzony na szybszym przetwarzaniu zawartości statycznej, może zostać częściowo zmarnowany na komunikację z serwerem PHP; im więcej skryptów w porównaniu z elementami statycznymi, tym przyrost wydajności przy zastosowaniu Nginx będzie mniejszy. Oprócz rozwiązania z PHP-FPM, częstym scenariuszem jest instalacja Nginx i Apache z mod_php, które potem działają na zasadzie symbiozy. Serwerem front-end jest Nginx, który przekierowuje żądania o zasoby dynamiczne do Apache z mod_php. Takie rozwiązanie stosuje się głównie, gdy chcemy zachować zgodność z konfiguracją aplikacji (np. ze względu na zastosowanie plików .htaccess), z której już korzystamy, albo nie jest zalecane przez jej producenta przejście na inny serwer.

Nginx po przekształceniu w spółkę nadal podąża drogą open source. Oprogramowanie ma być nadal dostępne w tym modelu, a firma będzie oferować także odpłatne pakiety z dodatkowymi narzędziami do zarządzania i wsparciem dla rozwiązań zapewniających wysoką dostępność (high availability). Serwer Nginx jest dostępny na systemy: Linux, Unix, Mac OS oraz Windows.

Zobacz również:

  • Wielka inwestycja Atmana w przetwarzanie danych
  • AI ma duży apetyt na prąd. Google znalazł na to sposób
  • OpenAI rozważa stworzenie własnych układów scalonych AI

Szybka odpowiedź Apache

Na niezagrożoną wygląda na razie pozycja serwera webowego Apache, który także zyskuje zwolenników z każdym miesiącem. Przyrost procentowy jest tutaj zbliżony w przypadku obu serwerów open source. Najnowsza wersja 2.4 - określana jako największa zmiana w tym serwerze od 7 lat (wersja 2.2 została zaprezentowana w 2005 r., a wersja 2.3 była określana mianem deweloperskiej) - ma wiele udoskonaleń w zakresie wydajności. Wydaje się ona odpowiedzią na zwiększającą się popularność Nginxa.

Serwery webowe - konkurencja się zaostrza

. Dostarczanie treści statycznej i dynamicznej przez serwer Nginx w połączeniu z serwerem Fast CGI PHP5-FPM

Apache 2.4 został lepiej przygotowany do pracy w środowiskach o dużym wolumenie ruchu. Zwiększono wydajność, tak aby zapewnić więcej jednoczesnych połączeń przy zmniejszonym zapotrzebowaniu na pamięć operacyjną serwera. Kolejną nowością jest moduł reverse proxy, pozwalający na serwowanie usług na jednym adresie IP, nawet gdy adresy serwerów w sieci wewnętrznej często się zmieniają. Co równie istotne, administratorzy Apache mają teraz możliwość ustalania parametru timeout na poziomie milisekund. W podobny sposób można ograniczać także inne zasoby. Rozbudowano również mechanizm buforowania (cache) i przystosowano go do witryn o dużym ruchu.

Serwer WWW Apache jest dostępny na praktycznie wszystkie platformy systemowe. Apache powstał w 1994 r. jako rozwinięcie projektu NCSA. Szybko stał się najpopularniejszym serwerem webowym. W 1999 r. deweloperzy rozwijający to oprogramowanie powołali fundację Apache Software Foundtation, która miała za zadanie zapewniać organizacyjne, prawne i finansowe wsparcie dla tego projektu. W międzyczasie pod swoje skrzydła przyjęła około 150 projektów, w tym wyszukiwarkę Lucene czy serwer Java Tomcat.

IIS 8.0 celuje w chmurę

Microsoft w ramach Windows Server 8 zaprezentował także nowe, internetowe usługi informacyjne - Internet Information Services (IIS) w wersji 8. Główny nacisk w tym wydaniu położono na hosting na dużą skalę. Wiele rozwiązań zwiększyło wydajność, co pozwala na serwowanie tysięcy witryn z jednej farmy serwerów.

Funkcja CPU Throttling była już dostępna w poprzednich wersjach, ale nie spełniała pokładanych w niej oczekiwań. Kiedy witryna doprowadzała procesor do określonego obciążenia, była wyłączana na pewien czas, co chroniło inne witryny z tego samego serwera, ale nie było działaniem pożądanym z punktu widzenia powolnej witryny, która zamiast mieć ograniczany dostęp do zasobów - była po prostu niedostępna. W nowej wersji IIS 8 mechanizmy CPU Throttling wprowadzono do jądra. W ramach funkcji throttle oraz throttle under load można ustalać limity na liczby procesów głównych i potomnych serwera, lub zezwalać na pełne wykorzystanie CPU w przypadku zwiększonego obciążenia. Rozwiązanie to nie rezerwuje zasobów, a raczej ogranicza ich maksymalne wykorzystanie.


TOP 200