What sort of architecture does Zeus use?

Zeus uses a combination of a non-blocking IO multiplexing architecture (for IO bound tasks like serving static pages) and a kernel multi-threaded server (for interfacing to dynamic APIs such as ISAPI and NSAPI).

Where other web servers use a single process or single thread per connection in conjunction with blocking sockets, the Zeus Web Server uses a single process and single thread to handle all incoming connections. Multiplexing of numerous simultaneous connections is possible using non-blocking IO. This architecture eliminates the context-switching overheads associated with the per-process and per-thread models, and explains Zeus Web Server's exceptional performance.

The out-of-process runners, zeus.nsapi and zeus.isapi, are multi-threaded.

In short, Zeus is designed to give near-linear performance improvements as you add CPUs to your machine. For an example of the scaling you can achieve, see HP's submitted SPEC results on the same N-class machine with 1,2,4 and 8 CPUs in it.

href="http://www.spec.org/osg/web96/results/res99q2/web96-19990420-03286.html">HP N-class: 1 CPU
href="http://www.spec.org/osg/web96/results/res99q2/web96-19990420-03287.html">HP N-class: 2 CPUs
href="http://www.spec.org/osg/web96/results/res99q2/web96-19990420-03289.html">HP N-class: 4 CPUs
href="http://www.spec.org/osg/web96/results/res99q2/web96-19990420-03288.html">HP N-class: 8 CPUs

Content Manager [Administrator] 19 September 2005  Permalink  
Download Free Trial

Recent Articles

Other Resources



www.zeus.com