Difference between revisions of "Server Architecture"
From LVSKB
(2 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
=== Multiple-Thread Event-Driven Architecture === | === Multiple-Thread Event-Driven Architecture === | ||
− | == Software | + | == Server Software == |
+ | |||
+ | === Apache === | ||
+ | |||
+ | Apache supports multiple-process architecture and multiple-thread architecture. | ||
=== nginx === | === nginx === | ||
Line 27: | Line 31: | ||
=== Varnish === | === Varnish === | ||
− | [[Varnish]] uses the | + | [[Varnish]] uses the multiple-thread architecture. Each client connection is handled by a separate worker thread, though the main thread uses poll to process events on socket listening. |
+ | |||
+ | === HAProxy === | ||
+ | |||
+ | [[HAProxy]] uses the single process event-driven architecture. | ||
== References == | == References == | ||
Line 34: | Line 42: | ||
* http://lighttpd.net/ | * http://lighttpd.net/ | ||
* http://varnish.projects.linpro.no/ | * http://varnish.projects.linpro.no/ | ||
+ | * http://haproxy.1wt.eu/ |
Latest revision as of 16:51, 29 August 2009
Server Architecture
Multiple-Process Architecture
Multiple-Thread Architecture
Single-Process Event-Driven Architecture
Multiple-Process Event-Driven Architecture
Multiple-Thread Event-Driven Architecture
Server Software
Apache
Apache supports multiple-process architecture and multiple-thread architecture.
nginx
Nginx supports both the single-process event-driven architecture and the multiple-process event-driven architecture.
lighttpd
Lighttpd uses the single-process event-driven architecture.
squid
Squid uses the single-process event-driven architecture, because the main process of squid handles all kind of network connections, despite that different processes can handle disk I/O under the diskd configuration.
Varnish
Varnish uses the multiple-thread architecture. Each client connection is handled by a separate worker thread, though the main thread uses poll to process events on socket listening.
HAProxy
HAProxy uses the single process event-driven architecture.