Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Nginx vs Apache
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Polish OTW
View previous topic :: View next topic  

Nginx czy Apache?
Nginx
33%
 33%  [ 3 ]
Apache
66%
 66%  [ 6 ]
Total Votes : 9

Author Message
soban_
l33t
l33t


Joined: 27 Aug 2008
Posts: 668
Location: /home/soban

PostPosted: Wed Jun 01, 2011 2:38 pm    Post subject: Nginx vs Apache Reply with quote

Tak jak w temacie, co wolicie i dlaczego. Ostatnio duzo mysle nad przesiadka, ale nie wiem czy warto.
_________________
gg: 525600
Back to top
View user's profile Send private message
SlashBeast
Moderator
Moderator


Joined: 23 May 2006
Posts: 2837

PostPosted: Wed Jun 01, 2011 8:08 pm    Post subject: Reply with quote

Skoro nie wiesz czy warto, to sie nie przenos.

Nginx nie dziala tak jak apache.
_________________
BitBucket -- better-initramfs
Back to top
View user's profile Send private message
Zwierzak
Veteran
Veteran


Joined: 19 Sep 2003
Posts: 1012
Location: /dev/null

PostPosted: Wed Jun 01, 2011 10:15 pm    Post subject: Reply with quote

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
View user's profile Send private message
soban_
l33t
l33t


Joined: 27 Aug 2008
Posts: 668
Location: /home/soban

PostPosted: Wed Jun 01, 2011 10:16 pm    Post subject: Reply with quote

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
View user's profile Send private message
Zwierzak
Veteran
Veteran


Joined: 19 Sep 2003
Posts: 1012
Location: /dev/null

PostPosted: Wed Jun 01, 2011 10:28 pm    Post subject: Reply with quote

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
View user's profile Send private message
SlashBeast
Moderator
Moderator


Joined: 23 May 2006
Posts: 2837

PostPosted: Thu Jun 02, 2011 11:00 am    Post subject: Reply with quote

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.
_________________
BitBucket -- better-initramfs
Back to top
View user's profile Send private message
Dagger
Retired Dev
Retired Dev


Joined: 11 Jun 2003
Posts: 765
Location: UK

PostPosted: Thu Jun 02, 2011 1:33 pm    Post subject: Reply with quote

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
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 500

PostPosted: Sat Jun 04, 2011 6:27 am    Post subject: Reply with quote

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
8)
Back to top
View user's profile Send private message
gryf
n00b
n00b


Joined: 09 Jun 2004
Posts: 30

PostPosted: Tue Jun 07, 2011 3:54 pm    Post subject: Re: Nginx vs Apache Reply with quote

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
View user's profile Send private message
n3rd
Guru
Guru


Joined: 30 Apr 2005
Posts: 328

PostPosted: Mon Sep 05, 2011 4:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Polish OTW All times are GMT
Page 1 of 1

 
Jump to:  
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