Subject: Re: NT v UNIX web servers - question >My question to you is, how might NT be a better OS than UNIX for hosting a >web site? Or would a UNIX server really do the better job? I'd be most >interesting in hearing back from grrls who have used both for web servers. >I'm looking for practical, somewhat quantifiable pros and cons, to help me >make a decision (read, MS bashing wouldn't be helpful, unless it has a >point). for straight file serving, under low/moderate load, the differences between unix and NT would probably be minimal. the two biggest advantages to unix, IMO, are stability under high load, and ease of integration between the webserver and other software. Windows and the Mac OS are designed around the concept of a computer which interacts with a user sitting at the keyboard. the generic term is 'single-user context'. SUC is great for highly interactive applications, especially those like graphics development, which involve making lots of small, arbitrary changes to a base document. the defining feature of single-user context is the stepwise ability to undo the last action, and try something else. unix, OTOH, is designed for multiple simultaneous users OR no users at all. its specialty is batch processing applications, where a well-defined set of actions are applied to a large set of documents. multi-user contexts tend to follow a pass/fail model, rather than an undo/retry model. single-user machines have a built-in tendency to want user interaction. that can certainly be minimized, but it exists nonetheless. their ultimate fail case is generally to present a screen which tells the user what went wrong, then wait for a reboot. multi-user/blind machines generally try to fail a single process in ways that don't require shutting down the entire system. nobody wants their private machine spontaneously rebooting in the middle of their work, and nobody on a shared machine wants to stop working and wait for a reboot because somebody else had a software failure. the basic assumptions of a multi-user context imply a resonably clean, blind protocol for passing information between processes. single-user contexts can get away with messier protocols and pulling more shortcuts, because they assume the user knows what's happening, and is willing to live with the consequences. a webserver is basically a blind system, and if it serves dynamic content, prefers to do so in a pass/fail manner, with protocols that allow it to communicate with other software cleanly and simply. as part of its character, the application wants a multi-user context. it's certainly possible to port most of the important features of that application to both single and multi-user contexts. the multi-user context will offer the most support for unexpected demands and flexibility for growth, though.