Michal Mizera

Michal Mizera właściciel, NetGlob
PUI

Temat: nginx vs apache

Jestemy w trakcie realcji H Live.

I przycina, load bardzo neistabilny, mrtg mowi ze procki zabijaja sie, ale w htop nie widac nic co moglo by je zabijac. Pojwily sie spore niescislosci.

Co jakis czas wymieka apache, trzeba do restartwoac i odrazu rusza ostro z buta, po jakims czasie znowu muli.

konto usunięte

Temat: nginx vs apache

Michal Mizera:
Co jakis czas wymieka apache, trzeba do restartwoac i odrazu rusza ostro z buta, po jakims czasie znowu muli.

Wbiłem się do Ciebie na rwm.org.pl - wygląda, że baza leży. Mysql czasem się nie zwiesza?

Temat: nginx vs apache

Mie sadze zeby udalo ci sie wyciaganac wiecej niz to z tego serwera (przynajmniej nieduzo), na pewnio postawienie lighttpd/nginxa na przodzie (tzn to co static ngix, to co dynamic proxowane do apacha) pomoże trochę, ale zastanowiłbym się nad kolejnym serwerem.

Sensowny monitoring pomaga (najszybciej jest zainstalować munin, tworzenie wykresów "wbudowane" i wszystkie ważniejsze rzeczy są monitorowane, a jak chcesz monitorować coś bardzo dokładnie to collectd), bo można sobie looknąć czy to jeszcze CPU bound, czy luż dysk nie wyrabia
Michał Bogdan

Michał Bogdan Oracle DBA, Acxiom
Polska

Temat: nginx vs apache

ja kiedyś przenosiłem, a właściwie konfigurowałem środowisko pod dość popularną grę przeglądarkową

nie taką dużą bo jeden serwer ją teraz obsługuje, ale w porywach wiatru i 1000 userów aktywnie refreshowało stronę, tudzież jakiś javascript to robił

stary serwer z apache był literalnie, za przeproszeniem zarżnięty procesami apache'a - jakaś defaultowa konfiguracja u jakiegoś Polskiego providera dedykowanych puszek - nie przyglądałem się mu nawet za bardzo, zresztą ... to nie do końca moja specjalizacja - serwer i tak szedł w odstawkę - trzeba było szybko ratować sprawę i stawiać nowy sprzęt

na nowym sprzęcie w serwerowni ovh postawiłem nginx'a + php z fastcgi (10 daemonow php o ile dobrze pamiętam) i nginx wraz procesami php jest gdzies ciagle na spodzie listy top/htop - niezauwazalnie obciąża procesory.. i cała moc jest właściwie dostępna dla bazy danych

zero problemów... przez dwa lata nagios na innej maszynie dwa razy wychwycił problemy z serwisem.. szybki restart procesów php pomagał, nigdy nie miałem problemów z nginxMichał Bogdan edytował(a) ten post dnia 11.08.10 o godzinie 18:14
Michal Mizera

Michal Mizera właściciel, NetGlob
PUI

Temat: nginx vs apache

Za miesiac kolejny harpagan. Plan jest taki, przepisac skrypty w ten sposob, by odswierzaly sie wtedy kiedy trzeba a nie statycznie co jednostke czasu.

Czyli skrypcik sprawdza np co 5 sekund czy cos sie zmienilo, jak sie zmienilo to przeladowuje, jak sie nie zmienilo to nic nie robi.

zobaczymy :)

konto usunięte

Temat: nginx vs apache

Michal Mizera:
Za miesiac kolejny harpagan. Plan jest taki, przepisac skrypty w ten sposob, by odswierzaly sie wtedy kiedy trzeba a nie statycznie co jednostke czasu.
...
zobaczymy :)

Jaki serwer www obecnie to serwuje? Jak baza?

Jeżeli MySQL nie wyrabia, to może warto rozważyć przejście na coś innego (np: MongoDB - powinno dać kilkukrotne przyspieszenie + znaczne odciążenie procka). Zamiast Apache, można potestować Cherokee lub Nginxa.

konto usunięte

Temat: nginx vs apache

Mariusz Gronczewski:
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

Wiem, że stary wątek ale nie mogłem się powstrzymać :D
Lubię takie kffffiatki adminoofff:

'Content switching' - hmmm no dzwoni coś gdzieś ale nie wiadomo w którym kościele :)
Może chodziło o conteXt switching? Jedna literka a jak wiele zmienia :)
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 ;].

Temat: nginx vs apache


Wiem, że stary wątek ale nie mogłem się powstrzymać :D
Lubię takie kffffiatki adminoofff:

'Content switching' - hmmm no dzwoni coś gdzieś ale nie wiadomo w którym kościele :)
Może chodziło o conteXt switching? Jedna literka a jak wiele zmienia :)

owszem zmienia ale czepianie się literówek i język typu "kfffiatki" to poziom forum onetu i dzieci neo ale czego się spodziewać po pseudo admine Linuxa z zainteresowaniami typu .Net... jeśli ktoś nie umie się wypowiedzieć na temat to szkoda miejsca na serwerze na tego typu posty

a co do starcia nginx vs apache to do czasów wersji 2.4 wybór był prosty (przynajmniej jeśli chodzi o prędkość serwowania statycznej zawartości) Teraz czas na porównania np.
http://blog.zhuzhaoyuan.com/2012/02/apache-24-faster-t...

pytanie tylko kto 2.4 wykorzystuje teraz na produkcji?

konto usunięte

Temat: nginx vs apache

Paweł Ciesielski:

Wiem, że stary wątek ale nie mogłem się powstrzymać :D
Lubię takie kffffiatki adminoofff:

'Content switching' - hmmm no dzwoni coś gdzieś ale nie wiadomo w którym kościele :)
Może chodziło o conteXt switching? Jedna literka a jak wiele zmienia :)

owszem zmienia ale czepianie się literówek
Przypuszczam, że to nie była literówka tylko brak znajomości przez autora wypowiedzi tematu,
w którym się wypowiedział. Oczywiście moje przypuszczenie może być błędne.
i język typu
"kfffiatki"
to poziom forum onetu i dzieci neo
Prawdopodobnie Szanowny Pan nie uchwycił ani środka stylistycznego, którego użyłem przy pomocy tego określenia ani celowości tego zabiegu.
ale czego się spodziewać po pseudo admine
Nie wiem, pewnie niczego? Czy zgadłem?
Linuxa z zainteresowaniami typu
.Net...
o_O
Nie rozumiem gdzie jest jakaś sprzeczność między administrowaniem Linuksem a programowaniem w .Net? Przypuszczam, że Szanownemu Panu chodzi o jakieś wojny dzieciarni na temat C# vs Java vs PHP vs pierdyliard innych tooli. No cóż, na takim poziomie dyskusji prowadzić nie będę. Nie chce mi się po prostu...
jeśli ktoś nie umie się wypowiedzieć na temat to szkoda miejsca na serwerze na tego typu posty
Punktuję zatem Pańskie wypowiedzi:

1) Brak jakichkolwiek znaków interpunkcyjnych w zdaniach, które raczył Szanowny Pan popełnić,
2) nazwa Linux pisana jest przez 'x', jednak odmieniając przez przypadki zamieniamy 'x' na 'ks', o tym już było tyle mowy na różnych portalach, ufam jednak, że przypadkowo Szanowny Pan te dyskusje przeoczył,
3) i najsmaczniejsza grupa zdań popełnionych przez Pana: "jeśli ktoś nie umie się wypowiedzieć na temat to szkoda miejsca na serwerze na tego typu posty". Zdanie niepoprawne stylistycznie i logicznie, zapewne chodziło Panu o coś w podobie tego:
"Szkoda miejsca na serwerze na niepoprawne stylistycznie wypowiedzi". Czy dobrze zgadłem Pańską myśl?
a co do starcia nginx vs apache to do czasów wersji 2.4 wybór był prosty (przynajmniej jeśli chodzi o prędkość serwowania statycznej zawartości) Teraz czas na porównania np.
http://blog.zhuzhaoyuan.com/2012/02/apache-24-faster-t...

pytanie tylko kto 2.4 wykorzystuje teraz na produkcji?

Czytając zdanie "Teraz czas na porównania" oraz konfrontując je z fragmentem odnośnika "apache-24-faster-than-nginx" mam wrażenie, że stosuje Pan technikę, którą objawić raczył mający złą sławę (i słusznie) p. Józef Stalin "nie ważne kto głosuje, ważne kto głosy liczy". Spieszę z wyjaśnieniem mojej myśli: z Pańskiej wypowiedzi wynika, że teraz należy tak wykonywać testy aby Apache w nich wygrywał.

Temat: nginx vs apache

Dziękuję za cenne uwagi i gratuluję spostrzegawczości. Niestety nie widzę żadnej wartości merytorycznej w postach Michała Kowala dotyczących tematu Nginx vs Apache.
Jeśli chodzi o "nie ważne kto głosuje, ważne kto głosy liczy" to chyba zostałem źle zrozumiany. Nie zamierzałem faworyzować żadnego z produktów. Nginx stanowi poważna konkurencję dla najpopularniejszego (nie bez przyczyny) serwera, ale to nie znaczy, że nowe wersje Apache nie są w stanie się obronić.

konto usunięte

Temat: nginx vs apache

Paweł Ciesielski:
Dziękuję za cenne uwagi i gratuluję spostrzegawczości.

Służę pomocą.
Niestety nie widzę żadnej wartości merytorycznej w postach Michała Kowala dotyczących tematu Nginx vs Apache.

Odniosłem się w mojej pierwszej wypowiedzi do bardzo niskiego poziomu
niektórych 'porad' czy opnii tutaj umieszczonych. Było więc to merytoryczne
oraz mieściło się w ramach tematu przewodniego niniejszego wątku. Raczył Pan natomiast
sprowadzić tok dyskusji na wątek poboczny wspominając coś o onecie, dzieciach neo
i czymś w podobie. Ja tego nie zrobiłem jako pierwszy. Wytknąłem po prostu nieznajomość
terminów użytych w wypowiedziach, a to jest merytoryczne podejście. Czyż nie mam racji?
Jeśli chodzi o "nie ważne kto głosuje, ważne kto głosy liczy" to chyba zostałem źle zrozumiany. Nie zamierzałem faworyzować żadnego z produktów.

Oddaję honor w takim razie.
Nginx stanowi poważna konkurencję dla najpopularniejszego (nie bez przyczyny) serwera, ale to nie znaczy, że nowe wersje Apache nie są w stanie się obronić.

Również jestem przeciwnikiem poglądu 'nginx lepszy na wszystko, we wszystkim
i we wszystkich sytuacjach'. Zanim dokona się jakiejś oceny należy przedstawić
cele jakie dane rozwiązanie ma osiągnąć lub funkcjonalność jaką ma zapewnić. Testy
dla samych testów są zupełnym nieporozumieniem. Podobnie jak stosowanie jako
wyznacznika poziomu użycia zasobów tzw. loadu w Linuksie. Wiadomo przecież powszechnie,
że ów load w Linuksie jest liczony w sposób co najmniej głupi żeby nie powiedzieć
'jak z ciemnogrodu'.

konto usunięte

Temat: nginx vs apache

Michał Kowal:
[...] Podobnie jak stosowanie jako
wyznacznika poziomu użycia zasobów tzw. loadu w Linuksie. Wiadomo przecież powszechnie,
że ów load w Linuksie jest liczony w sposób co najmniej głupi żeby nie powiedzieć
'jak z ciemnogrodu'.

Chętnie dowiedziałbym się, co jest głupiego w wyliczaniu ile procesów średnio oczekuje na wykonanie?
Tomek S.

Tomek S. IT Security
Consultant; CCNP
Security; JNCIA

Temat: nginx vs apache

Może to, że wliczane są także te które oczekują na podsystem I/O. Porównaj to z liczeniem load np. we FreeBSD.

konto usunięte

Temat: nginx vs apache

Tomek S.:
Może to, że wliczane są także te które oczekują na podsystem I/O. Porównaj to z liczeniem load np. we FreeBSD.

Ja bym uściślił: "porównaj to z liczeniem load w cywilizowanych systemach np. we FreeBSD" :)

konto usunięte

Temat: nginx vs apache

Tomek S.:
Może to, że wliczane są także te które oczekują na podsystem I/O. Porównaj to z liczeniem load np. we FreeBSD.

Wydaje mi się, że takie wątki nie obciążają procesora ale przecież wciąż obciążają system. Jeżeli load ma być miarą obiążenia całego systemu to wątki czekające na operacje I/O, ociążające elementy systemu jako całości, powinny być wliczane.

konto usunięte

Temat: nginx vs apache

Karol Ciba:
Tomek S.:
Może to, że wliczane są także te które oczekują na podsystem I/O. Porównaj to z liczeniem load np. we FreeBSD.

Wydaje mi się, że takie wątki

wątek a proces to dwie różne rzeczy
nie obciążają procesora ale przecież wciąż obciążają system.

jaki system? To system operacyjny obciąża sprzęt jeżeli już wchodzimy w szczegóły.
Jeżeli load ma być miarą obiążenia całego systemu

Load nie jest miarą obciążenia systemu(?) w Linuksach. Po prostu NIE JEST. Proszę zapamiętać
bo to jedno z częstszych pytań rekrutacyjnych, proste pytanie a podobno wykłada się na nim 90% tzw. adminów :)
czyli mówiąc system ma Pan na myśli całość (sprzęt + system operacyjny), czy tak?
to wątki czekające na operacje I/O, ociążające elementy systemu jako całości, powinny być wliczane.

Miesza Pan dwie rzeczy: własne rozumowanie load'u (obciążenia) oraz rzeczywistą
definicję tego terminu w systemach Linux. Gdyby Pańska definicja była zgodna z rzeczywistością
to powiedzmy, że byłby Pan w pobliżu prawdy, niestety jednak w Linuksie load jest jakąś tam liczbą ordynarnie wyciąganą ze schedulera i tyle.

[Edit]

Gdzieś, ktoś, kiedyś mi powiedział, że to dobrze że procesy czekające na IO są wliczane do
loadu bo w sytuacji tzw. sztucznego loadu (ale termin :) chyba tylko w linuksie :) ) widać, że
coś jest nie tak w systemie i należy dokonać analizy. Na początku się zgodziłem z tym, teraz jednak
kiedy się nad tym zastanawiam to to jest bez sensu, idąc tym tokiem rozumowania można powiedzieć, że dobrze że są np. CPU leak lub memory leak bo są oznaką, że coś się źle dzieje. Albo dobrze, że są segfaulty bo mówią one, że coś się źle dzieje :) Bez sensu... Poza tym to nie czasy sprzed 20 lat kiedy ciężko było jakieś sensowne wykresy wyrysować z serwera. Dziś mamy miliard narzędzi do rysowania wykresów z serwerów i jak nam load skoczy do 1000 to i tak wszystko ładnie się wyrysuje gdzie indziej i bardziej miarodajnie niż tzw. load w Linuksie. Btw. ile najwięcej loadu widzieliście na serwerach? Ja około 3 tys. (oczywiście na Linuksie) :) Kto da więcej?Michał Kowal edytował(a) ten post dnia 15.06.12 o godzinie 12:36
Przemek M.

Przemek M. Software Engineer,
TomTom

Temat: nginx vs apache

Load wyciągany ze schedulera? Ciekawa teoria...
Przypomina kultowe emacsem przez sendmaila.
Michał Kowal:
Btw. ile najwięcej loadu widzieliście na serwerach? Ja około 3 tyś (oczywiście na Linuksie) :) Kto da więcej?

Jak napiszę, że widziałem 4tys i wyślę to do 10 znajomych to spotka mnie dzisiaj miła niespodzianka?

--edyta--

Poza tym: wątek tyczy się apaczy.

--edyta--
tyś poprawiony ;)Przemek M. edytował(a) ten post dnia 15.06.12 o godzinie 10:46
Maciej K.

Maciej K. DevOps Engineer

Temat: nginx vs apache

Jestem ciekaw kto was nauczył pisać "tyś" zamiast "tys."

Polecam lekturę:
http://www.sjp.pl/tys.
http://www.sjp.pl/ty%B6Maciej K. edytował(a) ten post dnia 15.06.12 o godzinie 10:45

konto usunięte

Temat: nginx vs apache

Przemek M.:
Load wyciągany ze schedulera? Ciekawa teoria...
Przypomina kultowe emacsem przez sendmaila.

Ehhhh... liczba procesów wliczanych do loadu wyciągana jest koniec końców z listy zadań w kernelu, lista zadań jest listą dwukierunkową struktur task_struct, no to szukamy task_struct:

/usr/src/linux-source-3.0.0/linux-source-3.0.0/include/linux# grep -A5 'struct task_struct {' *
sched.h:struct task_struct {
sched.h- volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
sched.h- void *stack;
sched.h- atomic_t usage;
sched.h- unsigned int flags; /* per process flags, defined below */
sched.h- unsigned int ptrace;

Czyli co... nazwa pliku sched.h jest przypadkowa?
Michał Kowal:
Btw. ile najwięcej loadu widzieliście na serwerach? Ja około 3 tyś (oczywiście na Linuksie) :) Kto da więcej?

Jak napiszę, że widziałem 4tys i wyślę to do 10 znajomych to spotka mnie dzisiaj miła niespodzianka?

--edyta--

Poza tym: wątek tyczy się apaczy.

--edyta--
tyś poprawiony ;)

konto usunięte

Temat: nginx vs apache

Maciej K.:
Jestem ciekaw kto was nauczył pisać "tyś" zamiast "tys."

Polecam lekturę:
http://www.sjp.pl/tys.
http://www.sjp.pl/ty%B6

Dzięki :) Mam nadzieję, że zapamiętam.



Wyślij zaproszenie do