The Windowing System
There is no need for a windowing system on a web server. Users will not benefit from it, because they can’t see the server’s screen. On the contrary, users will suffer from a windowing system because it uses CPU and a great deal of RAM. Eliminating use of the windowing system avoids problems caused by process priority shifting depending on where the mouse is at any given time. On most windowing systems, it is now standard to increase the priority of processes running in or started from the currently selected window. A web server is likely to suffer when an interactive user is sitting at the keyboard, running jobs with higher priority.
You can see this for yourself with a simple experiment. Say you start
a single httpd
process from an
xterm
under Solaris. Here’s a little
sh
script that will show you the priority of
that httpd
once per second. The priority is the
number in the seventh column from the left:
while true do ps -cle | grep httpd sleep 1 done
As you move your mouse out of the xterm and click into some other
window, you’ll see the priority of httpd
drop by 10. When you move your mouse back into the
xterm
where you started
httpd
, you’ll see its priority increase by
10. This is probably not what you want for a dedicated web server.
It is quite straightforward to avoid starting X on Unix systems, and to do maintenance in terminal mode or through telnet sessions. Windows and the Mac do not give you that option; you are forced to expend resources on their windowing ...
Get Web Performance Tuning now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.