Seminarium: Systemy Rozproszone
6 czerwca 2013, godzina 12:00, sala 4070
Grzegorz Swatowski

nginx - open-source'owy, wysokowydajny serwer WWW



nginx to drugi co do popularności open-soure'owy serwer WWW, który opiera swoje działanie na zupełnie innym modelu niż najpopularniejszy serwer, Apache. Stary model zakładał, że każde nowe połączenie tworzy osobny proces lub wątek, który będzie je obsługiwał. Dodatkowo, procesy lub wątki zawieszają się na operacjach wejścia-wyjścia, przez co nie mogą obsługiwać innych połączeń w międzyczasie. Przy odpowiednio dużej liczbie jednoczesnych połączeń może to powodować bardzo szybki wzrost zużycia procesora i pamięci. Nowy model używa asynchronicznego, nieblokującego, opartego na zdarzeniach podejścia do obsługi zapytań. Każde nowe zapytanie wyzwala zdarzenie. Proces może obsługiwać naraz wiele takich zdarzeń, co oznacza, że nginx może obsługiwać jednocześnie wiele zapytań bez tworzenia osobnych procesów.

Ponadto, nginx oferuje kilka innych, ważnych funkcjonalności takich jak odwrócone proxy dla HTTP, load balancing czy możliwość uruchomienia skryptów za pomocą interfejsu FastCGI, uswgi lub SCGI. Bogaty zbiór funkcjonalności czyni nginx'a efektywnym zbiorem narzędzi do budowania skalowalnej infrastruktury dla witryn internetowych.

Na seminarium omówię nowy model, architekturę i funkcjonalności nginx'a oraz przedstawię porównania czasów działania i zużycia zasobów ngnix'a i Apache'a.

Bibliografia:

Zapraszam!
Grzegorz Swatowski