Front end'y POUND i NGINX w swiecie railsowym

Wczesniej podawalem krotka konfiguracje pounda jaka uzywalem przez 2 miesiace:

m.in wygladalo to tak, czyli pound(3 back end’y), mongrel_cluster(4) i lighttpd

pound (2 back end) > mongrel_cluster > www.elans.pl
pound (1 back end) > lighttpd > reszta czyli rozne statyczne

Pound to nie jest serwerem HTTP natomiast NGINX tak.

Aktualnie jestem po testach super projektu serwer HTTP i POP3/IMAP proxy a mianowicie Nginx napisanego przez rosjanina Igora Sysoev, wiecej informacji na stronie http://sysoev.ru/
Testowalem starsze wersje, ale od 30.08.2006 jest juz nginx-0.4.0.

Aktualnie juz sie przesiadlem bo wyniki sa fantastyczne, szybki, lekki i ma fantastyczne mozliwosci konfiguracyjne w porownaniu z pound m.in Virtual hosts, balancing, proxy, URL rewrite, regexp i oczywiscie obsluge Mongrel cluster.

Szybka i zgrabna konfiguracja pozwoli np sprawdzenie w kolejnosci czy sa statyczne pliki html, nastepnie czy sa cachowane pliki w railsach i np na koniec przekierowanie do mongrela i dipatcha.

Kilka linkow, ktore pomoga sie zaznajomic z tym front endem
Wart uwagi jest ilosc obslugiwanych modulow. Jesli ktos zna rosyjski to napewno sie przekopie przez tez znaczki
http://sysoev.ru/nginx/docs/

Tu dla mnie juz bylo jasniej
http://sysoev.ru/nginx/docs/example.html

A tu w przyjaznym jezyku
http://zh.stikipad.com/notes/show/nginx

Tworca twierdzi ze oprogramowanie jest stabilne i jest uzywane na rosyjskiej wyszukiwarce.

Polecam ciekawskim i zainteresowanym, z mogrelem i railsem sie swietnie sprawdza

Pozdrawiam, Tomek

Czy dysponujesz choćby przybliżonymi danymi (z własnego doświadczenia) na temat różnic w wydajności między różnymi sposobami deploymentu ?? Dla przykładu miedzy tymi:

  1. apache2.x + mongrel_cluster(n) - wykorzystanie balancera z apache’a
  2. pound + (light || mongrel_cluster(n))
  3. nginx + mongrel_cluster(n)

Będę tym bardziej wdzięczny, że przymierzam sie własnie do deploymentu http://webankieta.pl na nowym serwerze…
– daniel

Czesc Daniel. Niestety ale nie mam statystyk dla 1 i 2 dlatego opisze tylko moje spostrzezenia.

  1. nie mialem okazji i raczej chyba nie bede. Duzo sie mowi dobrego w sieci o balancerze apacha.

  2. pound -> mongrel oczywiscie sie dobrze sprawdzal. Jednak czasami mialem jeden proces mongrela mniej obciazony, nie wiedzialem jak to zdebugowac, ale wygladalo to tak jakby pound gdy nie mial polaczenia z jednym procesem to za szybko przekazywal do innego. W ten sposob pozostawial inne bardziej obciazone.

  3. pound -> lighttpd (z fcgi zrezygnowalem) tylko statycznie i idealnie sie sprawowal.

  4. nginx(2 workers) + mongrel_cluster(3).
    Ze wzgledu ze jest to VPS wychodza wyniki nieco nizsze niz na dedykowanym, ale i tak 20-30% lepiej niz z pound. Wynik nie-cachowanej strony.

httperf --client=0/1 --port=80 --server=mojVPS --rate=100 --send-buffer=4096 --recv-buffer=16384 --num-conns=50 --num-calls=1
Maximum connect burst length: 1

Total: connections 50 requests 50 replies 50 test-duration 1.694 s

Connection rate: 29.5 conn/s (33.9 ms/conn, <=41 concurrent connections)
Connection time [ms]: min 34.5 avg 703.2 max 1212.3 median 659.5 stddev 342.5
Connection time [ms]: connect 0.0
Connection length [replies/conn]: 1.000

Request rate: 29.5 req/s (33.9 ms/req)
Request size [b]: 83.0

Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (0 samples)
Reply time [ms]: response 703.2 transfer 0.0
Reply size [b]: header 329.0 content 96.0 footer 0.0 (total 425.0)
Reply status: 1xx=0 2xx=0 3xx=50 4xx=0 5xx=0

CPU time [s]: user 0.09 system 1.14 (user 5.1% system 67.3% total 72.3%)
Net I/O: 14.6 KB/s (0.1*10^6 bps)

Pozdrawiam

Cześć
Wielkie dzięki za dane liczbowe… póki co rozważam właśnie apache+mongrel_cluster - ale oczywiście także dlatego że dobrze sie mówi na sieci :slight_smile: zobaczymy jak będzie w realu…
Jeszcze raz dzieki za liczby !

– daniel

Daniel, bardzo interesujacy projekt http://webankieta.pl

Nawet niedawno ktos sie mnie pytal gdzie i czy wogole moze ankiety robic.
Kiedy serwis startuje?

Tomek

Dziekuję :slight_smile:

[quote=bernag]Nawet niedawno ktos sie mnie pytal gdzie i czy wogole moze ankiety robic.
Kiedy serwis startuje?[/quote]
Serwis jest w fazie beta ale jest w pełni funkcjonalny - beta testerzy robia sobie kompletne badania nawet na próbach ok 200 respondentów. Jeżeli więc ta osoba jest zainteresowana badaniami proszę o maila. Data premiery serwisu to… całkiem bliski dzień :wink:

– daniel

Hej:)

Witam rails-fanów:)

Ciekawe info o różnych kombinacjach: http://blog.kovyrin.net/2006/08/28/ruby-performance-results/

i o Nginx w szczególności (konfig):
http://brainspl.at/articles/2006/09/12/new-nginx-conf-with-rails-caching

Pozdrawiam,
Wojtek