Skocz do zawartości
theqkash

Jaki serwer www do najoptymalniejszej pracy?

Polecane posty

Testowałem ostatnio kilka serwerów www w różnych konfiguracjach i mam mieszane odczucia. Na co dzień korzystam z apache2 z mpm_event i php fpm i wydaje mi się, że pomimo tego, że nie jest to najoptymalniejszy układ świata, działa to dla mnie wystarczająco dobrze.

 

Testowałem nginx, lighttpd i hiawathę i w sumie każdy z nich ma jakieś plusy i minusy.

 

Z jakich serwerów korzystacie i w jakiej konfiguracji? Czy uważacie tą konfigurację za najbardziej optymalną?

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wszędzie tam gdzie tylko mogę to tylko nginx. A jak nie mogę to klasycznie ze smutkiem Apache ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nginx + php-fpm to obecnie najprzyjemniejsze i jednocześnie jedno z najwydajniejszych rozwiązań jakie są dostępne, oczywiście nie pod względem czasu wykonywania pojedynczego requesta, a liczbie wykonywanych requestów na sekundę.

 

Jedyne co ma możliwość być szybsze to HHVM, ale to tak eksperymentalne rozwiązanie, że na dzień dzisiejszy nigdzie poza środowiskami testowymi bym nie stawiał.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Konkretnych liczb Ci nie dam bo zależą od wielu czynników, w tym samego skryptu PHP jak i CPU, ale w kwestii throughput do prawidłowo skonfigurowanego i zoptymalizowanego nginx + php-fpm apachem nie dojedziesz, a przynajmniej ja nie dojeżdzałem jak testowałem 2.4, czy to na workerze czy evencie. Nie, liczby nie odstawały jakoś znacząco na evencie, z tego co pamiętam to było coś koło 85% tego co wyciagał nginx, ale jednak nie udało mi się nginxa przebić w żadnym teście poza wydajnością pojedynczego requesta vs apachowy mod_php.

 

Poza tym FPM w wersji ondemand to coś cudownego jeśli chodzi o zasoby samego serwera. Skalowalność takiego rozwiązania jest dużo lepsza niż FPM w wersji dynamic czy worker/event z apache'a.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Szczerze to nie lubię nginx, wielokrotnie jak miałem czas siadałem do niego jednak jestem dalej wierny apache.  Może dlatego że jestem starej daty i praktycznie od samego początku grzebałem w apache. Nie powiem że nginx nie jest wydajny lecz nie jest do wszystkiego i dla wszystkich w chwili kiedy trzeba ogarnąć naprawdę dożo klientów na jednej strukturze staje się problematyczny.  Apache spełnia moje oczekiwania a z obsługą php-fpm + kilka innych dodatkowych elementów naprawdę daje radę.

Lubię również lighttpd ale nie do wszystkiego. Jest kilka fajnych rozwiązań do obsługi web ale osobiście podchodzę do nich bardzo ostrożnie. Może przyczyną jest to że lubię spać spokojnie zamiast martwić się czy wszystko działa.

Ostatnio zaciekawił mnie również ten projekt: https://caddyserver.com/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja też lubię spać spokojnie, dlatego ilość segfaultów na apache i to co się działo zanim jako tako wersja 2.4 w ogóle została okrzyknięta stabilną dawno mnie sprowadziło do pokochania nginxa i w życiu do apache'a już nie wrócę. Nawet jednego razu nie miałem sytuacji, w której ta konkretna usługa by mnie zawiodła.

  • Lubię 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Do tematu czy coś jest stabilną wersją czy nie podchodzę bardzo sceptycznie.  Jak by tak zagłębić się to sporo z tego co używamy jest dalekie do stabilności i do okrzyknięcia że coś takie jest. Mam zasadę ,której staram się trzymać że jak coś pojawia się nowego to sobie testuje. Nie jestem pewien ale mam chyba coś ponad 400 zachowanych środowisk w proxmox jako właśnie pozostałości po testach.

Masz oczywiście rację że każdy ma prawo wyboru tego właściwego dla siebie środowiska do obsługi web. Każdy opiera pewne decyzje na doświadczeniach własnych lub na bazie tego co ktoś opisał. Nie twierdzę że nie wrócę do zabawy z nginx bo jakiś czas temu nawet przygotowałem sobie pewną platformę udającą moją obecną strukturę. No ale brak czasu niestety nieubłaganie odsuwa termin tej zabawy.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nginx też ma małe wady i nie nadaje się wszędzie przez to. 

 

  • Brak wsparcia dla htaccess czyli na sharedzie średnio się odnajdzie. Na maszynie developerskiej też czasem wkurza szukanie regułek do testowanej aplikacji. 
  • Niektóre podstawowe funkcjonalności pojawiają się najpierw w wersji plus takie jak logi syslog czy wsparcie dla http2 push. Dopiero po jakimś czasie funkcjonalności trafiają do mainline. 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Uważam, że na tak postawione pytanie można odpowiedzieć taki jaki dobrze Znasz.  Ale nikt nie napisał Apche  do PHP ( za względu na htaccess) + Nginx jako reverse proxy dla plików statycznych  - nie Polecacie takiego rozwiązania ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
1 minutę temu, Mion napisał:

Apche  do PHP ( za względu na htaccess) + Nginx jako reverse proxy dla plików statycznych  - nie Polecacie takiego rozwiązania ?

Ja używam i sobie chwalę.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Widzę że nikt nie wspomniał o Litespeed, który często pojawia się na hostingach. Wersja Pro jest płatna i w pełni zgodna z Apache (z obsługą plików htaccess).

Natomiast openlitespeed jest open sourcowym odpowiednikiem bez ograniczeń wydajnościowych, ale bez obsługi htaccess. Za to składnię rewriteów ma zgodną z apache więc przepisanie htaccess polega głównie na dodaniu slashy.

Możesz traktować Litespeed jako Apache na sterydach. Plus ma banalnie prostą obsługę przez konsolę WWW

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
2 godziny temu, nnd.newbie napisał:

Widzę że nikt nie wspomniał o Litespeed, który często pojawia się na hostingach. Wersja Pro jest płatna i w pełni zgodna z Apache (z obsługą plików htaccess).

Natomiast openlitespeed jest open sourcowym odpowiednikiem bez ograniczeń wydajnościowych, ale bez obsługi htaccess. Za to składnię rewriteów ma zgodną z apache więc przepisanie htaccess polega głównie na dodaniu slashy.

Możesz traktować Litespeed jako Apache na sterydach. Plus ma banalnie prostą obsługę przez konsolę WWW

 

Z tego co wiem, darmowa wersja raczej średniawo nadaje się na produkcję.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
13 godzin temu, SiXwishlist napisał:

Co znaczy mogę nie mogę? Czy mogę prosić o jakieś przykłady.

 

To znaczy, że nie spełnia założeń projektowych ;) Przykłady:

 

- klasycznie: hosting

 

- w pamięć zapadł mi taki jeden projekt, legacy z ogromnym długiem technologicznym: w htaccess długim na kilka tysięcy linii (!) oprócz klasycznych rewrite'ów (aczkolwiek kiepsko zrobionych, przez co powtarzanych setki razy) miał ogrom LOGIKI dostępowej tzn. to co powinno siedzieć w aplikacji i pozwalać na dostęp lub nie do jakiś treści znajdowało się w htaccess w formie rożnych zakręconych, zagnieżdżonych warunków. Normalnie mózg roz*ny ;) Nie dało się tego przenieść w prosty sposób 1:1 na nginxa.

 

3 godziny temu, Mion napisał:

Ale nikt nie napisał Apche  do PHP ( za względu na htaccess) + Nginx jako reverse proxy dla plików statycznych  - nie Polecacie takiego rozwiązania ?

 

Polecamy, przynajmniej kilkanaście razy tak ratowałem komuś dupę, kogo nie dało się szybko przenieść na nginxa a trzeba było natychmiast zadziałać. Choć potrafi popsuć krwi np. waląc błędami przy integracji z WAF czy ogólnie debugiem co jest odowiedzialne za np. timeouty.

 

Wracając do setupów:

 

Apache  + mod_lsapi (lsphp)

Apache  + php_fpm

nginx + php-fpm

lub nginx jako reverse proxy do apache

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
10 godzin temu, SomeGuy napisał:

 

Z tego co wiem, darmowa wersja raczej średniawo nadaje się na produkcję.

 

Litespeed darmowy czy open? W swoim czasie były płatna wersja Enterprise i darmowa Standard. Standard miał ograniczenia wydajnościowe: do 5 domen i 50 równoległych połączeń (czy jakoś tak) i na produkcję rzeczywiście się nie nadawał. 

 

Potem powstała opensourcowa wersja OpenLitespeed i ostatecznie Standard został porzucony. OpenLitespeed nie ma ograniczeń wydajnościowych i nadaje się na produkcję. Różnica z wersją Enterprise to głównie brak wsparcia dla paneli hostingowych i plików .htaccess (chociaż wciąż zachowuje zgodność z regułami mod_rewrite).

 

Krótko mówiąc, łatwiej się z Apache'a przesiąść na OpenLitespeed niż na nginxa. A co do wydajności to zależy od  testów czy wygrywa nginx, litespeed czy inny. Ogólnie Litespeed jest jednym z najwydajniejszych serwerów.

 

 

Edytowano przez nnd.newbie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Na sharedzie najlepiej się sprawdza apache 2.4 +lsphp (lsapi) czyli moduły Litespeeda.
Ew apache 2.4 +fpm

Ale jak robiłem testy ostatnio to jeszcze na sporo serwerach php działa jako fcgi.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Z moich testów, narazie najwydajniejsze dla mnie rozwiązanie jakie udało mi się wdrożyć to nginx jako reverse proxy, do tego strony oparte o PHP kierowane są do Apache który to uruchamia PHP poprzez lsapi. Do tego odpowiedni tuning nginx + apache i działa to na prawdę fajnie. Wymaga to jednak uwagi przy konfigurowaniu, różnego rodzaju timeouty potrafią napsuć krwi. Na tandemie nginx + apache działamy od paru lat, a php poprzez lsapi mamy od mniej więcej początku roku. Tak więc można uznać to za stabilne rozwiązanie :)

W planach mam zamiar wpleść w to jeszcze varnisha.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeśli ktoś sam administruje serwerem to ja nie wiem dlaczego wszyscy wpychają tego apacza :)

 

Jeśli mogę to tylko nginx z hhtp2 + php-fpm.

 

Ostatnio dokompilowałem sobie mod pagespeed, niestety często dziwnie działa i psuje działanie niektórych systemów (pewnie jak do ( y ) napisany jest kod js albo css ale mimo wszystko :) )

Jednak przy kilku projektach fajnie zoptymalizował strone (odczuwalnie dla zwykłego usera i dla google)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dołącz do rozmowy

Możesz pisać i zarejestrować się później. Jeśli masz konto,Zaloguj się teraz, aby publikować na swoim koncie.

Gość
Odpowiedz...

×   Wklejony jako tekst z formatowaniem.   Wklej jako zwykły tekst

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


  • Podobna zawartość

    • Przez kkw
      Hej,
       
      Korzystam z Debiana 9.0 oraz Apache 2.4.25. Chciałbym włączyć HTTP/2, ale korzystam jednocześnie z mod_ruid2. Problem w tym, że mod_http2 nie jest kompatybilny z mpm_prefork, zaś mod_ruid2 jest kompatybilny tylko z mpm_prefork (mam tu na myśli mody mpm_*). Jak rozwiązać ten węzeł nie tracąc funkcjonalności mod_ruid2?
    • Przez Mion
      Napotkałem niespodziewany porblem z działaniem reguł w .htaccess i modrewritte dla  Apache/2.4.
       
      A mianowicie jest sobie reguła:
      #Server version: Apache/2.4.25 (Debian) <FilesMatch "\.(htaccess|htpasswd|ini|phps|json|log|sh)$"> Order Deny,Allow Deny From All </FilesMatch> RewriteEngine On RewriteBase / RewriteRule ^(?:application|vendor|logs)\b.* - [F,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|\.svg|\.jpeg|\.ttf|\.eot|\.woff|robots\.txt) [NC] RewriteRule ^ index.php [QSA,L] <FilesMatch  ... >  działa w ten sposób, że jeśli wywołujemy plik  żądaniem HTTP /composer.json to powinie być zwrócony status: 403 Forbidden .
      RewriteRule ^(?:application|vendor|logs)\b.* - [F,L] Przy wywołaniu  jakiś katalogu np  /vendor/ flaga - [F,L] powinna zwrócić 403 Forbidden a flaga [L] zakończyć działanie... Podobnie nie powinna być wykonana osttsnia reguła czyli jeśli wywołujemy plik graficzncy, js, css itd...   I tak się dzieje jeśli nie ma ostatniej reguły od  "MVC"  przepisującej wszystko na index RewriteRule .* index.php [PT,QSA,L] 
       
      Jeśli jest ta reguła, to nie ma oczekiwanego Forbidden  tylko wywołanie index.php
       
      Nie rozumiem tego. Dla Apache 2.2 działa zgodnie z oczekiwaniem. 
       
       
       
       
       
    • Przez SomeGuy
      Cześć,
      W poprzednim wątku pisałem o znanym mysqltuner, i tak mnie natknęło, bo nigdy tego nie sprawdzałem - czy istnieje alternatywa dla Apache.
       
      Apache2Buddy
      https://github.com/richardforth/apache2buddy
       
      Sam jeszcze tego nie testowałem, ale zamierzam. Ktoś może miał już zaszczyt "użyszkodnikować" to narzędzie i może coś o nim powiedzieć?
  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
×
  • Utwórz nowe...

Ważne informacje

Korzystając z forum, wyrażasz zgodę na: Warunki korzystania z serwisu, Regulamin, Polityka prywatności.