Portál AbcLinuxu, 30. dubna 2025 09:13

Nginx milé překvapení

28.12.2011 20:47 | Přečteno: 2032× | Programy | poslední úprava: 28.12.2011 20:47

V práci vyvíjíme webovou aplikaci, jedná se o produkt elektronické knihy jízd. Je to velmi zajímavý produkt a musím říct, že mě tato práce velmi naplňuje a baví. Velký podíl na to má určitě i skvělý kolektiv. Dokonce polovinu týmu znám už delší dobu a pocházíme v podstatě ze stejného města. Dokonce dva z mých spolupracovníků se mnou bydlí na bytě. Ale o tom možná někdy příště. Jediným nepříjemným faktem je to, že aplikace je od počátku vyvíjena v PHP, a přepsání do něčeho svižnějšího zatím nepřipadá v úvahu.

K vývoji jako IDE používám Netbeans a jako verzovací systém se už asi přes měsíc (konečně) používá git. Na svém pracovním notebooku mám nainstalovaný arch, což je pro mě výhoda, jelikož v žádném jiném distru se tak rychle nevyznám. Dá se říct, že o proti ostatním co mají (ubuntu či mandrivu) jsem s archem měl nejméně problémů. Teda až do dneška, kdy na mě zničeho nic při pokusu restartovat apache, vyskočila hláška segmentation fault.

Svůj pracovní stroj skoro nevypínám a od posledního restartu či vypnutí proběhlo už spousty aktualizací, takže jsem si nebyl jistý, co zatím vězí. No po pár neůspěšných pokusech  jsem to s apachem vzdal a zkusil šáhnout po alternativě. Už dlouho mě lákalo vyzkoušet nginx, o kterém už jsem toho docela dost četl a slyšel. Během hodinky se mi podařilo vše nastavit, tak aby to fungovalo, jak https, tak i různá pravidla z .htaccess. Byl to moc dobrý pocit, když se předemnou objevila přihlašovací obrazovka a po zadání údajů. dokonce najel i zbytek aplikace a vše tak nádherně fungovalo. Dokonce to bylo velmi svižné. Což mě dovedlo k pokušení otestovat výkon mezi nginx a apache.

Jenže to znamenalo vyřešit problém s apache. Naštěstí po chvilce hledání jsem objevil tiket, kde byl popsán můj problém a i dočasné řešení problému. Takže jsem se mohl pustit do testování. Popravdě nejednalo se o žádné extra přesné měření, jelikož mi nešlo o přesné výsledky, ale spíš jen tak o přehled. Pro testování jsme použil nástroj apache bench (příkaz ab) . Pouštěl jsem ho s různými parametry pro oba dva web servery. A snad ve všech testech byl web server nginx mírně výkonější. V některých jednoduchých testech dokonce i skoro dvakrát výkonější než apache. Tyto výsledky mě velmi mile potěšili a dokonce i celková náročnost na systémové prostředky hlaně na operační pamět byi ve prospěch nginx. Takže nakonec jsme se rozhodl jej nechat jako defaultní web server na svém pracovním stroji. Co se týče produkčních strojů, tak i když si myslím ze i zde by nginx možná nakonec přineslo mírné snížení nároků na systémové prostředky, tak ve výsledku by to nebylo tolik patrné, aby to stálo za komplikace způsobené přechodem.

Závěrem bych dodal, že pokud bych do budoucna plánoval tvořit webovou aplikaci a měl možnost si vybrat webový server na kterém to poběží asi bych dal přednost nginx před indiánem :).

       

Hodnocení: 91 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

28.12.2011 21:07 sidik
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Odpovědět | Sbalit | Link | Blokovat | Admin
Já postupně všude nahodil Nginx místo Apache a vytížení serverů kleslo docela slušně. Navíc máme aplikaci, která jednou za čas dostane pecku v podobě tísícovek lidí, zkoušejících se připojit ve zhruba stejný čas. Apache i přes veškeré snahy prostě buď lehnul, odpaloval každého s "too many connections" nebo mu trvalo hrozně dlouho vyřídit požadavek. Nginx tohle vyřešil a vánoční nápor prošel bez jediného emailu o nepřístupné aplikaci.
Jakub Lucký avatar 28.12.2011 21:23 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Odpovědět | Sbalit | Link | Blokovat | Admin
Už Nginx umí mod_rewrite? Nejlépe kompatibilní s Apache? To bych asi potřeboval, aby se to dalo někam nasadit na víc, než jen reverzní proxy nebo statický obsah...
If you understand, things are just as they are; if you do not understand, things are just as they are.
Shadow avatar 28.12.2011 21:26 Shadow | skóre: 25 | blog: Brainstorm
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Nginx umí rewrite už hodně dlouho, ovšem se syntaxí Apache kompatibilní není.
If we do not believe in freedom of speech for those we despise we do not believe in it at all.
28.12.2011 21:44 Sten
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Pokud tam poběží PHP, tak je stejně celkem jedno, jestli to bude na Apachi, lightyně nebo nginxu.
kozzi avatar 28.12.2011 23:30 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Nginx milé překvapení

No tak sice neni plne kompatibilni, ale vetsina pravidle co jsme meli v htaccessu se dala pouzit jen s minimalni upravou,takze pokud clovek nedela nejake silenosti, tohoto bych se nebal

Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
29.12.2011 19:46 Alan
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Odpovědět | Sbalit | Link | Blokovat | Admin
Najrychlejsi je i tak lighttpd....
Shadow avatar 31.12.2011 11:25 Shadow | skóre: 25 | blog: Brainstorm
Rozbalit Rozbalit vše Re: Nginx milé překvapení
If we do not believe in freedom of speech for those we despise we do not believe in it at all.
29.12.2011 20:33 ivan
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Odpovědět | Sbalit | Link | Blokovat | Admin
Neni nad lighttpd
30.12.2011 21:57 pozortucnak | skóre: 21 | blog: vecny_windowsar
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Odpovědět | Sbalit | Link | Blokovat | Admin
Trochu to zní jako by nginx uměl .htaccess - a to neumí...
Jsem mimořádně obtížný případ
kozzi avatar 30.12.2011 22:44 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Nginx milé překvapení

no diky bohu neumi, umi neco jineho co uplne dostacuje

Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
vlastikroot avatar 30.12.2011 23:28 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Nginx milé překvapení
+1 cesta Apache neni ta jedina spravna. Dulezity je, ze to jde nastavit, aby to delalo co je potreba.
We will destroys the Christian's legion ... and the cross, will be inverted
31.12.2011 12:56 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Odpovědět | Sbalit | Link | Blokovat | Admin
Jenom aby z tebe nakonec nevypadlo, ze jsi pri testu pro apache pouzil treba mpm-prefork.
;)
31.12.2011 13:49 kozzi
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Nee k tomu bych se nikdy nepriznal :P
pavlix avatar 1.1.2012 03:13 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Nginx milé překvapení
No já osobně používám téměř výhradně mpm-itk :). Na nic jiného nejsem ochotný pustit cizí lidi.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
1.1.2012 17:03 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Odpovědět | Sbalit | Link | Blokovat | Admin
Pro provozování PHP je Apache stále nejvýkonější řešení. Dělal jsem před nějakou dobou sérii testů a pokud PHP použiješ jako modul a Apache dobře nastavíš (dostatečný počet procesů, zvýšení počtu požadavků na proces, keepalive atd.), tak nemá konkurenci. Nginx je sice velmi málo náročný na paměť (má vlastně konstatní spotřebu paměti při libovolném zatížení) a rýchlý díky evented I/O, ale ztrácí výkon díky propojení PHP přes FastCGI.
Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin
kozzi avatar 1.1.2012 19:11 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Nginx milé překvapení

Jo to je dost mozne, ale z mych mereni vyslo ze ten rozdil nebyl zas tak markantni a hlavne u slozitejsich systemu kde to casto vysi na databazi, to clovek nepozna a ve vysledku vyjde nginx lepe

Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
1.1.2012 19:43 Dundee5 | skóre: 17 | blog: Dundee5 | Praha
Rozbalit Rozbalit vše Re: Nginx milé překvapení
Záleží na typu projektu. Pokud to jede na nějakém malém virtuálu s návštěvností pár tisíc denně, tak se nginx vyplatí. Když už ta návštěvnost ale přesáhne pár desítek tisíc uživatelů denně, začne být rozumnější volbou Apache.
Kdo se vzdá svobody, aby získal jistotu, ztratí nakonec obojí. --Benjamin Franklin

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.