[ cheetah @ 11.04.2012. 21:30 ] @
Pozdrav,

koristim vec neko vreme Varnish Cache (www.varnish-cache.org) na nekim ultra-giga-sporim Drupal sajtovima, sa izuzetno dobrim rezultatima, pa me interesuje da li neko kod nas koristi to cudo softvera, jer mi search na ES-u ne vraca ama bas ni jedan post.

Iskustva, testovi, sta god, cisto da znam da nisam sam ;)

poz
[ bogdan.kecman @ 17.04.2012. 05:47 ] @
ja sam testirao varnish i nginx i odlucio se za nginx (nginx radi kao reverse proxy + load balanser)
[ Tyler Durden @ 17.04.2012. 07:52 ] @
Ja sam se malo igrao sa Varnish-om kao frontendom ispred Apache-a sa dosta sajtova i nisam bio posebno odusevljen rezultatima.
Nginx mnogo bolje rijesenje.
[ cheetah @ 17.04.2012. 12:09 ] @
Hm, ne bih se slozio da je brzi, barem sa aktuelnim verzijama, i sa ispravnim HTTP hederima podesavanjima (opet ovo samo kazem za moj slucaj), jer znam neke ljude koji su radili benchmark (radi odluke sta da koriste), i dobijali su strasno lose rezultate, jer jednostavno nisu se udubili u podesavanja, i totalno su lose konfigurisali Varnish. (dobili su rezultate nekoliko redova velicine manjih od nginx-a)

Inace Varnish takodje ima loadbalancing, proxy mu osnovna namena...ali ok, svacija iskustva su drugacija, pa da podelim svoj benchmark pre nekih mesec dana:

Varnish (index.php strana), uklonjeni cookiji i slicno, ispravno podeseni HTTP headeri koji dozvoljavaju proxyjuma kesiranje, itd.

Lokalno pozivan drupal sajt, sa kesiranom php stranicom:

(VARNISH)
ab -c 200 -n 200000 http://drupal1/index.php
LOAD: 21.42
RAM: 2560 MB (ima mysql-a tu malo)
~7400 req/sec


(NGINX) (podesen u proxy modu, znaci kesiranje)
ab -c 200 -n 200000 http://drupal1/index.php
LOAD: 4.0
RAM: 2582 MB (ima mysql-a tu i sl.)
~6570 req/sec

Mrzi me da kacim printscreenove, ali to je to u osnovi.

Kao sto rekoh, razlicita su iskustva, Varnish je vrlo specifican i ima specificnu namenu (reverse proxy, ne fercera bez web servera u pozadini...), potrebno je detaljno razumevanje uticaja HTTP hedera i Cookie-ja na kesiranje u varnishu...

BTW, Nginx je podlozan ddos napadima, generalno, za razliku od Varnisha, ali ajde da ne tupim sad o tome...


[ bogdan.kecman @ 18.04.2012. 03:13 ] @
da ti nije typo? varnish ti je napravio load 21 ?! za ono za sta je nginx dao load 4 ?

bice takodje da nginx nisi konfigrisao ok :)

dalje, benchmark koliko brzo mogu da vrate jednu stranu je ultra beskoristan

ono sto je super fora kod nginx-a meni npr je sto mogu da napravim isti nginx da puca 5 razlicitih log fajlova, i onda npr mogu da imam jedan log file samo sa IP adresama posetilaca, na svakih sat vremena proverim koliko sam imao upita sa kog ip-a i ako neki ip krene da se izivljava (i da me besomucno kroluje) ja ga banujem na 24h da se opameti :D

Sve u svemu ako si zadovoljan, go for it ... ja licno nisam odabrao nginx zato sto sam radio neki heavy duty benchmark uopste, nego sam poredio dokumentaciju, gledao da li mogu da da procitam source za ovaj i onaj, gledao koji kako umem da konfigurisem, koliko cika google vrati rezultata za "how to setup nginx + wordpress" i "how to setup nginx + glassfish" sa "how to setup varnish + glassfish" i slicno ... nginx je tu pobedio, mnogo vise korisnih informacija je cika google vratio za njega, brze sam dosao do "working solution" te sam se zadrzao na njemu :)
[ Tyler Durden @ 18.04.2012. 07:49 ] @
Mislim da nije typo. Nginx inace odlicno hendluje load dok sam kod Varnisha ako se ne varam primjetio da zna da skoci.
[ cheetah @ 18.04.2012. 09:46 ] @
Nije typo, to je veliki broj requesta lokalno "poslatih" preko loopback interfejsa, cpu je jedan cini mi se (VM), i da kao sto rece Tyler, ume da skoci, ali ovo ipak nije realan scenario, jos se nisam susreo sa tolikim broj requesta po sekudnu u relanosti. Tu nginx definitivno ima prednost.

Apsolutno se slazem da se na osnovu testa ne radi odabir, nego sam gledao neke strane sajtove gde su Varnish poredili po performansama sa apache serverom, sto je glupost (jer ocigledno nisu ispravno podesili), pa rekoh da mozda neko od vas nije imao slicne rezultate testiranja, cisto zbog toga dajem benchmark (ovu istu index.php starnu sam apache servira plafon 3 req/s, posto je mrcina od drupala u pitanju, a VM je skromnog "hardvera".

Nginx bi trebalo da jesam dobro konfigurisao (jer obicno web serviranje radi istom brzinom kao i apache, zbog ogromne kolicine mysql-to-php podataka), ali sigurno ima tu dosta jos mesta za tuniranje. Svakako me odusevio mali load, ali za moje namene, mi vise odgovara varnish, a sama konfiguracija je neverovatno laka kad se savlada osnova, i pruza straaaaasno mnogo fleksibilnosti, i namenski je reverse proxy, cisto zato moje odusevljenje istim.

Svakako, tuzno da samo vas dvojca imate nekog iskustva sa varnishem, mislio sam da ce jos neko javiti da podeli utiske :)




[ bogdan.kecman @ 19.04.2012. 09:05 ] @
Citat:
cheetah: Nije typo, to je veliki broj requesta lokalno "poslatih" preko loopback interfejsa, cpu je jedan cini mi se (VM), i da kao sto rece Tyler, ume da skoci, ali ovo ipak nije realan scenario, jos se nisam susreo sa tolikim broj requesta po sekudnu u relanosti. Tu nginx definitivno ima prednost.


to je mnoooogo lose, meni nginx opsluzuje 10 web servera koji su iza njega i tera nekih 200tinjak strana u sekundi u proseku, do nekih 600-1000 strana u sekundi u pikovima, i load je beznacajan, pritom nginx odradjuje gzip kompresiju svih strana (da ne bi smarao web servere da to rade). bice da sam se odlucio za pravu stvar, varnish bi tu umro na jedan :( izgleda

Citat:
cheetah:
Nginx bi trebalo da jesam dobro konfigurisao (jer obicno web serviranje radi istom brzinom kao i apache, zbog ogromne kolicine mysql-to-php podataka)


nginx je meni svuda bio po 1000-2000 PUTA brzi od apache-a, jedini nacin da rade istom brzinom je da 99.99% vremena cekas npr na bazu (sto je moguce u pitanju glupavog drupala) ... nema na njemu nesto mnogo da se "tunira" :D

Citat:
cheetah: Svakako, tuzno da samo vas dvojca imate nekog iskustva sa varnishem, mislio sam da ce jos neko javiti da podeli utiske :)


verovatno ima nego ne posecuju linux sekciju, i sam slucajno video temu kada sam svrno da vidim da neko nesto nije pisao za oracle linux
[ vladared @ 19.04.2012. 10:25 ] @
Citat:
cheetah

Svakako, tuzno da samo vas dvojca imate nekog iskustva sa varnishem, mislio sam da ce jos neko javiti da podeli utiske :)


Citat:
bogdan.kecman: verovatno ima nego ne posecuju linux sekciju, i sam slucajno video temu kada sam svrno da vidim da neko nesto nije pisao za oracle linux


Kasno sam primetio temu, a već je sve rečeno (bar ono što bih i ja rekao) tako da nemam šta tu generalno da dodam. Nginx i kod mene je zakon, šta više bez nekog specifičnog podešavanja, tako da ne vidim šta bih tu dodavao.
[ cheetah @ 19.04.2012. 14:16 ] @
Linux u forum Linux/UNIX serveri i servisi.[/quote]
OK, bice da sam postovao u pogresnu sekciju :D

Citat:
nginx je meni svuda bio po 1000-2000 PUTA brzi od apache-a, jedini nacin da rade istom brzinom je da 99.99% vremena cekas npr na bazu (sto je moguce u pitanju glupavog drupala) ... nema na njemu nesto mnogo da se "tunira" :D


Apsolutno je to moj slucaj, i onda ne treba mi "brži" web server, vec da kompletno php stranu i pripadajuce statike, smestim u cache (RAM) i onda bijem koliko mi volja req/sec, a u pitanju je mnooooogo req/sec, jer se ne pipa ni apache ni baza. Dodatno bio vredan, napravio test nginx + phpfmp, skoro identicne brzine kao standardni setup apache modphp, jer naravno kao sto si pomenuo 99% vremena provodim cekajuci fckn mysql, tako da se brzina samog web servera i ne moze primetiti...

Citat:
to je mnoooogo lose, meni nginx opsluzuje 10 web servera koji su iza njega i tera nekih 200tinjak strana u sekundi u proseku, do nekih 600-1000 strana u sekundi u pikovima, i load je beznacajan, pritom nginx odradjuje gzip kompresiju svih strana (da ne bi smarao web servere da to rade). bice da sam se odlucio za pravu stvar, varnish bi tu umro na jedan :( izgleda


Nemoj da se oslanjas na load info koji sam poslao, ja sam ovde pojeo ceo bandwith vetovatno, lokalno sam tukao, ovo je cisto katastrofalno uproscen sinteticki benchmark. Razlika od 10-30 posto meni nista ne znaci, nego dodatni featuri, kao sto si pomenuo ranije.
Kontam da ti nginx radi kao proxy/lb server (ne kao web, jer imas u pozadini 10 web servera), onda te cifre 600-1000 su skroz OK, ali Varnish bi to hendlao kao malo dete, veruj mi :)
Dodatno, Varnish 3.0 ima takodje podrsku za gzip u letu, kao i za gunzip (ako u kesu ima gzipovanu stranicu, a klijent je npr curl bez kompresije, pa da ne bi smarao web server, on je dekompresuje i salje klijetnu). Sve ima svoje naravno, ne favorizujem varnish, cisto razmenjujemo utiske.