View previous topic :: View next topic |
Nginx czy Apache? |
Nginx |
|
33% |
[ 3 ] |
Apache |
|
66% |
[ 6 ] |
|
Total Votes : 9 |
|
Author |
Message |
soban_ l33t
Joined: 27 Aug 2008 Posts: 668 Location: /home/soban
|
Posted: Wed Jun 01, 2011 2:38 pm Post subject: Nginx vs Apache |
|
|
Tak jak w temacie, co wolicie i dlaczego. Ostatnio duzo mysle nad przesiadka, ale nie wiem czy warto. _________________ gg: 525600 |
|
Back to top |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Wed Jun 01, 2011 8:08 pm Post subject: |
|
|
Skoro nie wiesz czy warto, to sie nie przenos.
Nginx nie dziala tak jak apache. |
|
Back to top |
|
|
Zwierzak Veteran
Joined: 19 Sep 2003 Posts: 1012 Location: /dev/null
|
Posted: Wed Jun 01, 2011 10:15 pm Post subject: |
|
|
Lighttpd
A tak na serio to zależy co potrzebujesz. Jeżeli chcesz gotowe snippety od programistów to bierz apache. Wszyscy programiści zakładają, że wszyscy używają apache. Jeżeli potrafisz samemu skonfigurować lub potrafisz znaleźć porady to skorzystaj z innych serwerów. Ale pamiętaj, że mogą one tworzyć więcej problemów dla ciebie. |
|
Back to top |
|
|
soban_ l33t
Joined: 27 Aug 2008 Posts: 668 Location: /home/soban
|
Posted: Wed Jun 01, 2011 10:16 pm Post subject: |
|
|
To raczej ja tworze serwer akurat tutaj - dlatego chce uslyszec jakies zalety, ktore mnie przekonaja do zmiany. Mysle ze i tak przetestuje nginx - ale chce uslyszec Wasza opienie. Troche sie nagooglowalem o nim i ponoc jest lepszy przy wiekszej ilosci zapytan (szybszy) - no ale lubie sluchac co wychodzi w praniu. _________________ gg: 525600 |
|
Back to top |
|
|
Zwierzak Veteran
Joined: 19 Sep 2003 Posts: 1012 Location: /dev/null
|
Posted: Wed Jun 01, 2011 10:28 pm Post subject: |
|
|
To wszystko zależy. Jeżeli masz mocne serwery to najlepiej opłaca się dobrze skonfigurowany apache. Ale to dotyczy sprzętu od samego początku skonfigurowanego mocnego serwera. Na serwerach typu VPS bardziej się opłacają lekkie serwery. Ale patrząc na serwisy od JoeMonster (Demotywatory itd.) to nawet nginx'a można zabić. |
|
Back to top |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Thu Jun 02, 2011 11:00 am Post subject: |
|
|
Gwoli scislosci - na przykladzie demotywatorow, to nie tak, ze tam 'nginksa da sie zabic', nginx daje rade, a to, ze czasem leca bledy 502 lub 503 to z winy backendu, ponoc tam maja php, php nie ogarnia, leca timeouty. Nginx sam w sobie nie serwuje dynamicznego contentu, php robisz tam i tak po fastcgi, do tego modul proxy, uwsgi itp.
Apache to jest po prostu jakis koszmar jezeli chodzi o zasoby, ile on potrafi zjesc ramu i uzyc czasu procesora na raptem kilkaset zapytan. Znowu Apache posiada idioto-odporny mod_php, mod_perl czy mod_python, posiada .htaccess i przez to, ze jest bardzo popularny, internet jest pelen roznych poradnikow do niego.
Co do lighttpd, ma fajny syntax configu, sporo ficzerow. Ma tez wady, np. z nieznanego mi powodu, jezeli php dziala na userze joe a lightly na swoim 'lighttpd', nie wykona skryput php, po fastcgi, jezeli user lighttpd nie bedzie mial do niego praw dostepu, co jest conajmniej dziwnie biorac pod uwage, ze powinien po prostu wyslac request po fastgi z script_filename i tyle. I znowu lighttpd wyglada na martwy projekt, wersji 1.5 doczekac sie nie moza, od blisko roku nie bylo nawet jednego wydania wersji 1.4, nie szedl bym w lighttpd.
Do nginksa nie ma co podchodzic jak nie znasz dokumentacji, internet jest pelen poradnikow do niego, niektore sa tak zle, ze az strach pomyslec, ze ktos naprawde wykonywal to, co w nich jest napisane. Nginx jest super wydajny, praktycznie nie uzywa ramu, idlujac bez polaczen je ok 1.8M (na testach lighttpd w idle jadl 1.2M). W tym momencie nginx na pewnej stronie z 230 osobami online je 15M ramu.
Wszystko zalezy od zastosowan, w niektorych apache wygrywa ficzerami, w innych nginx wydajnoscia. |
|
Back to top |
|
|
Dagger Retired Dev
Joined: 11 Jun 2003 Posts: 765 Location: UK
|
Posted: Thu Jun 02, 2011 1:33 pm Post subject: |
|
|
Osobiscie zaczalem przerzucac wszystkie servery z Apache na Nginx. Apache zaczal mnie dobijac zuzyciem zasobow, tym ze restart zajmuje kupe czas i openrc czesto timeouttuje, oraz tym ze od czasu do czasu po prostu przestaje dzialac i tylko restart servera pomaga (zadnych informacji w logach).
Z wstepnych testow na Zend Framework - based stronce ktora jest bardzo ciezka i wymaga duza ilosc zasobow, ruznica wydajnosci jest okolo 20% na kozysc Nginx. Uzycie pamieci Apache + mod_php VS Nginx + mod_fastcgi + php-fpm siega zaledwie 30% na kozysc Nginx (300MB nginx+php vs 1GB apache+php).
Jak SlashBeast wspomnial - glownie zalezy od potrzeb i zastosowania. _________________ 95% of all computer errors occur between chair and keyboard (TM)
Join the FSF as an Associate Member!
Post under CC license. |
|
Back to top |
|
|
Jacekalex Guru
Joined: 17 Sep 2009 Posts: 553
|
Posted: Sat Jun 04, 2011 6:27 am Post subject: |
|
|
Nginx z php-fpm jest bardzo szybki, ale na razie (o ile mi wiadomo),nie dorobil się natywnej obsługi skryptów CGI (trzeba kombinować z zewn. skryptami, co z bezpieczeństwem ma niewiele wspólnego),
do tego konfiguracja 3x dłuższa do Lighttpd.
Co do szybkości, Nginx z php-fpm jest szybszy o okolo 15% od Lighttpd z tym samym php-fpm.
Oba działają kilka razy szybciej od Apacha 2.2, ciekawe, jak wyjdzie Apache 2.4 - ma byś serwerem przełomowym pod względem wydajności i bezpieczeństwa.
Reasumując - na nieduży lub średni serwerek dałbym Lighttpd, na jakiś kosmicznie olbrzymi Nginxa, ale przy Nginxie zostawiłbym Lighttpd (schowany za Nginx - Proxy) do skryptów CGI, i programów adminstracyjnych, jak Phpmyadmin.
W dodatku i Nginx i Lighttpd mają jedną fajną rzecz: można filtrować zapytania GET i POST bezpośrednio regexem, bez zadnych zewnętrznych modułów jak mod-security,czy rewrite, i można bardzo dokładnie filtrować dane wysyłane do serwera.
Robi się to zauważalnie prościej, niż w w Apachowym rewrite.
Pozdrawiam
|
|
Back to top |
|
|
gryf n00b
Joined: 09 Jun 2004 Posts: 50
|
Posted: Tue Jun 07, 2011 3:54 pm Post subject: Re: Nginx vs Apache |
|
|
Nginx, bo jest mały, niezbyt łasy na zasoby, na moje skromne potrzeby wystarczający. Nie potrzebuję mod_php, pythonowe aplikacje wypycham po fcgi. Z kolei nginx potrafi być upierdliwy w konfiguracji, Apache jest bardziej "przyjazny" w tej materii. |
|
Back to top |
|
|
n3rd Guru
Joined: 30 Apr 2005 Posts: 328
|
Posted: Mon Sep 05, 2011 4:45 pm Post subject: |
|
|
Apache i Ngnix to zupełnie przeciwstawne podejścia do tego, jak powinno programować się aplikacje sieciowe. Wszystko zmieniło się wraz z powstaniem procesorów wielordzeniowych - od tego czasu szybkość aplikacji coraz silniej zaczęła wynikać z tego, jak dana aplikacja potrafiła pracować współbieżnie. Ludzie z Apacha wybrali drogę tworzenia wielu wątków - niestety taka struktura aplikacji to koszmar jeżeli chodzi o synchronizację ze sobą poszczególnych wątków oraz zarządzanie nimi. Ngnix stosuje polling (np. epoll pod linuksem), który opiera się na blokowaniach procesów (lub wątków), przy czym mamy tu jednego workera na jeden rdzeń procesora oraz mechanizm, który nimi zarządza. Taka budowa pozwala znacznie efektywniej wykorzystać zasoby systemowe (i jest całkiem elegancka).
Problem zaczyna się przy bardzo dużych obciążeniach. epoll to nic innego jak struktura danych, która zawiera tzw. deskryptory zdarzeń i te deskryptory są zarządzanie przez mechanizm jądra. Niestety aplikacja działa w przestrzeni użytkownika a mechanizm epoll w przestrzeni jądra - to oznacza, że takie struktury pamięci muszą być przez cały czas kopiowane między przestrzenią jądra oraz użytkownika, co generuje niepotrzebne obciążenia jądra systemowego. I teraz należy sobie uświadomić, że mechanizmem blokowania jest najczęściej jakiś timer, który określa blokadę na określoną liczbę mikrosekund (1 us to 1 mln część sekundy). To nie będzie miało większego znaczenia, przy obciążeniach dochodzących do 10k na sekundę ale powyżej fakt zakładania blokady na kilka mikrosekund może bardzo utrudniać osiąganie lepszych wyników.
Jeżeli chodzi o ngnix vs apache, to bardziej sensownie jest zaprojektowany ngnix. Apache ma znakomite moduły poprawiające bezpieczeństwo.. i to chyba jego główna zaleta (przynajmniej w mojej opinii). Oba serwery nie są jednak tym, czym powinna być aplikacja sieciowa - gdyby były właściwie zbudowane ich wydajność wzrosłaby przynajmniej dziesięciokrotnie.
pozdrawiam,
daniel
edit: jeżeli ktoś potrzebuje super-szybkiego http, to polecam zobaczyć g-wan (niestety to nie jest open-source...)
http://gwan.ch/ _________________ "Jeśli coś jest niemożliwe do zrobienia, przychodzi ktoś kto o tym nie wie i robi to."
-- Albert Einstein
Zanim zadasz pytanie na forum, wykonaj: /etc/init.d/brain. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|