Comments on: WIMP or WAMP? http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/ I will not fix your computer. Tue, 04 Aug 2020 22:34:33 +0000 hourly 1 https://wordpress.org/?v=4.7.26 By: IT_Architect http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/#comment-21359 Wed, 08 Feb 2012 04:28:50 +0000 http://www.terminally-incoherent.com/blog/2008/07/16/wimp-or-wamp/#comment-21359

You could make a better case in the past for not running Apache on Windows than you could today. There were very valid reasons what it was not a good idea.

The root of the problem is the MS OS roots are multi-threading while the roots of UNIX is multi-processing. From a Windows person’s perspective, threads are a WAAAAY less expensive than processes because there is only one instance of the executable code, and they would be right, from a Windows perspective. If you watch the forums, they are quick to get out their calculator and multiply X megs times the number of processes to calculate just how expensive it is to fork a new process. A few realize their math isn’t working because the machine doesn’t have that much memory, and it isn’t swapping. UNIX caches an image of the executable, which is shared among invocations. Thus, Windows optimized their threading while UNIX optimized their multi-processing, because that’s what each depended on most. If you only experience Windows, it’s difficult to grasp how dirt cheap launching and terminating a Unix process is because for Windows it’s crazy expensive.

The old Apache was written for UNIX and Netware, both rocket ships at forking processes. What naturally follows, if you run the same code on Windows, you end up with slow motion and memory requirements that WILL agree with your calculator. This is also why CGI is such a disaster under Windows. As you’ve gathered by now, the reason IIS runs fine on Windows is because it is thread based.

You may have noticed that consistently, the top 10 most reliable web hosts, are UNIX, usually FreeBSD, while they are small fraction of the servers. There is more to that than real smart guys working on it. Memory leaks in a multi-processing environment don’t have the impact they do in a threaded environment because if the programmer doesn’t get it quite right, the memory gets released back to the OS when the process terminates anyway. Windows programmers need to be able to walk on water to prevent leaks. Moreover, even two perfect pieces of code working together may not be perfect when they work together if things don’t happen in the predicted order every time. That’s why so much emphasis on languages with automatic garbage collection to cut down on the leaks. This is human factors engineering. You can appreciate that getting Windows server as solid as you see today was no cheap trick.

Today, UNIX and Linux have refined their threading, and Windows has refined its multi-processing. Today, Apache has more processing models than you can shake a stick at. They have varying mixtures of processes and threads. Forking isn’t free, so today, you see parameters in Apache to reuse processes for say 100,000 iterations, an then tossing them. That keeps any memory leaks from building, and helps Windows out which isn’t very efficient at multi-processing. The whole idea of FastCGI is to keep the language process running for Windows. The problem with that is, the language and all of the software may not be thread safe because it never had to be. Getting rid of PHP on the web would be like getting rid of Windows applications for the desktop, so PHP has had to evolve with thread-safe libraries. On UNIX and Apache 2.2, prefork is faster than FastCGI.

Reply  |  Quote
]]>
By: Phen0m http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/#comment-13595 Tue, 17 Nov 2009 09:12:58 +0000 http://www.terminally-incoherent.com/blog/2008/07/16/wimp-or-wamp/#comment-13595

Back in the time I was using windows, I only used Apache, simply because my friend’s IIS server got hacked and the forum he had hosted was totally gone. I have never had that experience with Apache.

I really recommend Apache, it was written with security in it’s mind, according to some article i have read it is used by 80% of all websites.

And i use it cus i love Linux, not only the freedom, but the OS itself, for example Ubuntu has so many cool features, mosly small things that make my life easier

Reply  |  Quote
]]>
By: Craig Betts http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/#comment-9649 Mon, 21 Jul 2008 14:27:48 +0000 http://www.terminally-incoherent.com/blog/2008/07/16/wimp-or-wamp/#comment-9649

Personally, I choose to run SAMP.

Long live Solaris!

Reply  |  Quote
]]>
By: ido http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/#comment-9642 Sat, 19 Jul 2008 23:45:49 +0000 http://www.terminally-incoherent.com/blog/2008/07/16/wimp-or-wamp/#comment-9642

oops. should be WLMP of course…

Reply  |  Quote
]]>
By: ido http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/#comment-9641 Sat, 19 Jul 2008 23:43:55 +0000 http://www.terminally-incoherent.com/blog/2008/07/16/wimp-or-wamp/#comment-9641

What about WLAP? (L standing for Lighthttpd)
That’s what all the cool kids are doing now.

Reply  |  Quote
]]>
By: Dr. Azrael Tod http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/#comment-9634 Fri, 18 Jul 2008 13:00:38 +0000 http://www.terminally-incoherent.com/blog/2008/07/16/wimp-or-wamp/#comment-9634

got the same reason like anyone else… its easier to switch between lamp and wamp than to switch between lamp and wimp.
But on the other hand… i dont do much switching in last time… used lamp most exclusively the last 3-4 years. (besides using Linux exclusively as Desktop OS the last 2 years)

Reply  |  Quote
]]>
By: Hector http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/#comment-9633 Fri, 18 Jul 2008 08:40:17 +0000 http://www.terminally-incoherent.com/blog/2008/07/16/wimp-or-wamp/#comment-9633

I agree with Nathan.
I’ve been running WAMP at a low scale level (with database, but quite small) for several years now, and works fine. No empirical data, sorry.
My main reason to use WAMP over WIMP, though, is that it’s in fact developed as LAMP application that has to work over XP too, due to some customer requirements. Oh, man, and now I’ll have to check what happens with Vista!
And of course “IIS sux because it is from Micro$not”. :-)

Reply  |  Quote
]]>
By: Nathan http://www.terminally-incoherent.com/blog/2008/07/17/wimp-or-wamp/#comment-9626 Thu, 17 Jul 2008 17:36:49 +0000 http://www.terminally-incoherent.com/blog/2008/07/16/wimp-or-wamp/#comment-9626

I’ve run a low-volume WAP (no database) server for years. Maybe the discussions were valid at one point, but Apache 2 seems to be pretty darn Windows-friendly.

I don’t have anything major against IIS, really. I found Apache easier to configure and getting new versions for free appealed to the poor college student I was at the time (yeah Windows comes with a crippled ancient version of IIS (at least, the version that came with Win2k was both ancient and crippled; I don’t know if XPs is any better), but you’ll probably be dropping some dough if you want the most recent, unrestricted version). Plus, don’t underestimate the awesomeness of open sauce :)

Reply  |  Quote
]]>