konto usunięte

Temat: nginx vs apache

Witam Panów (i ewentualne Panie ;)

Jako, że wzrasta mi obciążenie kilku serwisów chciałbym zastosować jakieś środki zaradcze. Mam teraz apache z php jako moduł. Słyszałem, że nginx jest dużo szybszy i chciałbym wymienić serwer www.

Jakiego rzędu oszczędności zasobów daje użycie nginxa w miejsce apache'a?
Karol Zielinski

Karol Zielinski dyrektor
zarządzający, CEO,
PayLane

Temat: nginx vs apache

nginx nie jest serwerem www, tylko coś a'la serwerem proxy, pozwalającym np. na bardzo zgrabne balansowanie obciążeniem serwera.

Przy takim zastosowaniu o jakim piszesz - zdecydowanie polecam nginx'a + php-fpm, w miejsce apache'a z modułem php. Różnica w prędkości jest znaczna.

Krótki opis jak postawić php-fpm'a w połączeniu z nginx'em: http://tech.karolzielinski.com/i-want-to-serve-php-via...

konto usunięte

Temat: nginx vs apache

Karol Zielinski:
nginx nie jest serwerem www, tylko coś a'la serwerem proxy,

No, mniej więcej rozumiem czym jest - doguglam sobie resztę i ewentualnie dowiem się w praktyce :)
nginx'a + php-fpm, w miejsce apache'a z modułem php. Różnica w prędkości jest znaczna.

Dlatego właśnie pytam tutaj - na blogasach są benchmarki, ale ja zawsze biorę poprawki na to, co ludzie piszą ;) Znaczna? Pi razy oko... 2x... 3x.. 0.5x... czy po prostu bardzo trudno określić i stosując logikę rozmytą 'warto'/'nie warto'?
Krótki opis jak postawić php-fpm'a w połączeniu z nginx'em: http://tech.karolzielinski.com/i-want-to-serve-php-via...

Dzięki, poczytam przy kawie.Peter K. edytował(a) ten post dnia 23.12.09 o godzinie 11:12

konto usunięte

Temat: nginx vs apache

Spróbuj może http://cherokee-project.pl/pages/main

konto usunięte

Temat: nginx vs apache

Kamil Porembiński:
Spróbuj może http://cherokee-project.pl/pages/main
Już czytam.. wygląda obiecująco ale... ich strona zmula :P Mam nadzieję, że to nie wina cherokee :P

konto usunięte

Temat: nginx vs apache

Jeszcze masz Lighttpd: http://www.lighttpd.net/

konto usunięte

Temat: nginx vs apache

Kamil Porembiński:
Jeszcze masz Lighttpd: http://www.lighttpd.net/
Też słyszałem... a gdybyś miał wybierać, co byś zainstalował? Bo najgorzej kurde, jak jest wybór, za komuny bym się zapytał:

- jest serwer, jeżeli tak to jaki wybrać?
- nie ma

i problem z bani :)Peter K. edytował(a) ten post dnia 23.12.09 o godzinie 11:27

konto usunięte

Temat: nginx vs apache

Apache chodzi nam MPM Prefork czy MPM Worker?
Ile procesorów ma maszyna?
Ile RAMU ma maszyna?
Może tunning Apacha się przyda.

konto usunięte

Temat: nginx vs apache

Kamil Porembiński:
Spróbuj może http://cherokee-project.pl/pages/main

Używasz na produkcyjnych? Ja sie troche do niego zraziłem kilka lat temu, bo nie pracował zbyt stabilnie i bardzo powoli poprawiali bugi. Coś zmieniło się w tym zakresie?

konto usunięte

Temat: nginx vs apache

Ani razu nie korzystałem. Słyszałem tylko tak samo jak o Tornado Web Server.

Ja zwolennik Apacha, JBossa, Tomcata ;-)Kamil Porembiński edytował(a) ten post dnia 23.12.09 o godzinie 11:58

konto usunięte

Temat: nginx vs apache

Kamil Porembiński:
Apache chodzi nam MPM Prefork czy MPM Worker?
MPM Prefork
Ile procesorów ma maszyna?
1x quadcore
Ile RAMU ma maszyna?
4gb
Może tunning Apacha się przyda.

Serwisy ze względu na swoją charakterystykę generują bardzo dużo requestów.
Paweł R.

Paweł R. System administrator

Temat: nginx vs apache

Karol Zielinski:
nginx nie jest serwerem www, tylko coś a'la serwerem proxy, pozwalającym np. na bardzo zgrabne balansowanie obciążeniem serwera.

Z tym się nie zgodzę. Nginx to przede wszystkim serwer WWW i to doskonały do serwowania static-ów dzięki zdarzeniowej obsłudze połączeń.
To że potrafi robić load-balacing - no cóż, apache też ma mod_proxy + mod_proxy_balancer a mimo to nie jest strice load-balancerem tylko serwerem WWW>
Przy takim zastosowaniu o jakim piszesz - zdecydowanie polecam nginx'a + php-fpm, w miejsce apache'a z modułem php. Różnica w prędkości jest znaczna.

A masz jakieś konkretne benchmarki tego ? Zastanawia mnie na czym jest główny zysk, bo i tak musi spawn-ować parser PHP a inny webserver/frontend nie ma wpływu na szybkość działania parsera. Może inaczej wygląda obsługa wielu wątków ?
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Temat: nginx vs apache

Na quad core lepiej worker niż prefork. Możesz pomyśleć też o event.
Ponadto sprawdź mod_fcgid, sprawuje się znacznie wydajniej niż mod_php, a oprócz tego ma wiele innych zalet.Adrian Czerniak edytował(a) ten post dnia 24.12.09 o godzinie 15:30

konto usunięte

Temat: nginx vs apache

Peter K.:
Jakiego rzędu oszczędności zasobów daje użycie nginxa w miejsce apache'a?

Lepszym rozwiązaniem dla ciebie będzie obsługa php w apache2 przez fastcgi. Nie wiem co hostujesz, ale na nginx nie zrobisz .htaccess oraz pełnego webdav.

Oczywiście może być kilka innych powodów dla których twoja aplikacja chodzi wolno. Jeśli sobie nie poradzisz to skontaktuj się ze mną.
Adam Tomasz K.

Adam Tomasz K. Zaawansowana
modyfikacja
rzeczywistości.

Temat: nginx vs apache

Hej, jako środek zaradczy proponuję wprowadzić moduł Xcache, ja zawsze byłem z niego zadowolony.

Co do zmiany serwerów to najpierw odpowiedź sobie jaką potrzebujesz funkcjonalność i z czego możesz zrezygnować. Apache jest powolny głównie z powodu przeszukiwania .htaccess w katalogach, jak wyłączysz tą funkcję, przyśpieszy. Popatrz co jeszcze masz w modułach, co możesz zahaszować. Poeksperymentuj z ilością procesów serwera.

Jak naprawdę nie potrzebujesz Apache (głównie .htaccess) to możesz eksperymentować. Ja mam doświadczenie z Lighttpd - sprawuje się OK, jest szybki, konfiguracja przyjemna w pisaniu, statyczne strony śmigają a PHP poprzez FastCGI z Xcache działało wyśmienicie.

Temat: nginx vs apache

apache mpm_worker + php przez cgi jest DUŻO szybsze (szczególnie jak sobie postroisz), z nginxami i lightami problem jest gdy używasz .htaccess, trzeba rewrity przepisać na inną składnie, no i musi je zmieniać admin, a nie developerzy jak w przypadku .htaccess

Nginx i lighty są podobne (do phpa ligthy wygodniejszy w ustawieniu), z tym że wg. mnie lighty ma dużo wygodniejszy moduł konfiguracji.

Xcache też pomaga ;] Tylko trzeba uważać bo czasami potrafi nie zauważyć zmiany pliku na dysku (znaczy, trzeba pokonfigurować odpowiednio). I jak będziesz używał fastcgi to nie dawaj zbyt dużo procesów, więcej niż 2-3xliczba rdzeni będzie tylko marnować czas procesora na content-switching

Nginxa (jak i lightego) można używać jako proxy ale DUŻO lepiej użyć http://haproxy.1wt.eu mniejszy overhead i więcej funkcji loadbalancingowych (tylko w dziedzinie rewritów odrobinkę brakuje).

W apache + mod_php głównym problemem jest to że jak obługujesz np. żądanie o 5kb gifa to obsługuje go proces z załadowanym phpem + trzeba użyć mpm_prefork (bo niektóre moduły phpa nie są threadsave) a fork dla każdego requestu jest baaaaad ;].

konto usunięte

Temat: nginx vs apache

Adrian Czerniak:
Na quad core lepiej worker niż prefork. Możesz pomyśleć też o event.
Ktoś w ogóle testował eventa? Była już dyskusja w poście: http://www.goldenline.pl/forum/administratorzy/1001132

Temat: nginx vs apache

Podobny do workera, używam na jednym serwerze i różnicy wydajności za bardzo nie widać
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Temat: nginx vs apache

Testowałem tu i ówdzie i odczucia mam podobne jak Mariusz. Raz lepiej, raz gorzej. Dlatego warto sprawdzić.

konto usunięte

Temat: nginx vs apache

Spróbuj zastosować szybki tuning w postaci APC, eaccelerator, xcache.



Wyślij zaproszenie do