Questions about Windows + Apache

We had some problems ramping up traffic on a Windows + Apache server that I set up last week. Apache would respond normally for a while, then start dropping requests and/or refusing connections.
My first thought was that that I’d gotten the configuration wrong, or that Apache/Win32 was buggy. I found a smoking gun in the Apache error log about needing to raise the ThreadsPerChild setting, which I then raised from the default of 250 up to 1000.
But this didn’t fix the problem. The Apache error log has other, more obscure errors, which I’ll post to the comments section.
I also performed some simple scale tests with ApacheBench. The results depended on where I ran the tests from. Running the tests from the server machine, Apache could easily handle 25 concurrent requests. But running the tests from an offsite machine, ApacheBench would throw “Broken pipe” errors above about 10 concurrent requests.
Maybe our Internet pipe at the colocation wasn’t fully open. I asked Matthew at iland about this. He remembered that we were running Windows XP Pro, and suggested that maybe we were hitting XP’s 10 connection limit. But both of us were pretty sure that the 10 connection limit only applied to IIS, which we weren’t using. Also, I was able to run ApacheBench with 25 concurrent users from a second Windows machine in the same cage.
One final test. I ran ApacheBench against a Debian/Apache server at the same colocation. It passed with flying colors. Hmm, maybe it is Windows.
I went back and re-read the XP license, and here’s what it says about connection limits

  You may permit a maximum of ten (10) computers or other electronic devices (each a “Device”) to connect to the Workstation Computer to utilize the services of the Product solely for File and Print services, Internet Information Services, and remote access (including connection sharing and telephony services).

I’m not a lawyer, but if I read that correctly, it isn’t saying what I thought it said. Focus on the word “solely”. I think this is saying that computers can only connect to your computer to use Microsoft add-on software. So, connection limits aside, are they really saying that you can’t run non-Microsoft server software on an XP box?
I have to admit I’m a little lost here. I just want to set up some servers. I’m not interested in becoming expert on the Windows licensing model. I want something that works and is legal. I don’t need IIS or any of the other Windows server add-ons. This is why we went with XP, btw. Couldn’t justify paying $thousands extra for software we’re not going to use.
So, to summarize, I wonder if someone out there can help me figure out the answers to these questions:

  To run Apache on Win32, legally, do I have to purchase a Windows 2003 Server license, even if I’m not using any of the Windows server programs?
  Legalities aside, is the connection limit I’m seeing an Apache problem or an XP crippleware problem? Or something else?
  If I have to buy Windows 2003 Server, what is the least expensive version that can run Apache without interference?

34 thoughts on “Questions about Windows + Apache”

  1. Other errors we saw in a <24 hour period:

    (OS 10038)An operation was attempted on something that is not a socket. : setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed. [[2 times]]

    (OS 121)The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed [[25 times]]

    (OS 1231)The network location cannot be reache
    d. For information about network troubleshooting, see Windows Help. : winnt_acc
    ept: Asynchronous AcceptEx failed. [[2 times]]

    (OS 64)The specified network name is no longer available. : winnt_accept: Asynchronous AcceptEx failed. [[706 times]]

    Like

  2. /me shakes head and wonders why you’re battling to get apache running under any version of Windows.

    I know you well enough to know that you aren’t afraid of linux or BSD and to know that you must have a good reason for needing to run Windows on this server.

    I think you know me well enough to know that I don’t have the answers to your questions about Windows 2003 Server.

    And, in the end, will it be cheaper to buy, build, and administer an extra server running linux just for apache than to pay the 2003 Server license fees?

    Or… once you pay the 2003 Server license fees, will it make more sense for you to use IIS?

    I’m interested to see what responses you get to this query.

    Like

  3. You didn’t mention which version of Apache, 1.x or 2?

    1.x is not recommended for production servers (on Windows) while Apache 2 was rewritten with better native Windows support.

    NB. I haven’t used Apache 2 in a production environment, so I can’t really say whether or not it is truly production ready. It does seem to work better than 1.x in the Windows environment.

    Like

  4. Not sure what to make of the Knowledge Base article. The relevant section says “Per development: The connection limit refers to the number of redirector-based connections and is enforced for any file, print, named pipe, or mail slot session. The TCP connection limit is not enforced, but it may be bound by legal agreement to not permit more than 10 clients.”

    What does “Per development” mean? Does that mean the policy could change? And the “may be bound by” bit doesn’t help on the legal question. Microsoft’s documentation people don’t know the answer either, I guess.

    Like

  5. You may permit a maximum of ten (10) computers or other electronic devices (each a “Device”) to connect to the Workstation Computer to utilize the services of the Product solely for File and Print services, Internet Information Services, and remote access (including connection sharing and telephony services).

    In this statement it says clearly that the Product shouldn’t be used in a network that has more than 10 computers. It also clearly states that this limit only applies to the Services OF the Product. Apache isn’t a service that is supplied with XP, so I guess you can have unlimited http connections to your XP server, and be legal anyhow.

    Furthermore, my apache-win installation came with this warning. What version do you use?

    WARNING

    Apache should never be used as a production server under any
    consumer operating system such as Windows 95, 98, or ME (Millennium
    Edition). Only Windows NT 4.0 or 2000 should be considered, and only
    with appropriate NTFS file system and user security administration.
    Apache runs on these consumer Windows environments only to
    provide test, development or trusted intranet server platforms.

    Apache on Win32 should be considered initial-release quality code.
    It has not been subjected to the same stresses on its stability and
    security that the Unix releases have enjoyed, so there is a greater
    possibility of undiscovered vulnerabilities to stability or security
    of the Win32 port.

    Apache performs best, and is still most reliable on Unix platforms.
    Over time the performance, reliability and security for the Apache
    Win32 port has improved, and continues to improve. Folks doing
    comparative reviews of webserver performance are still asked to
    compare against Apache running on a Unix platform such as
    Solaris, FreeBSD, or Linux.

    The Win32 code for Apache 2.0 has been entirely revised and large
    segments have been rewritten from scratch. Once the Apache 2.0
    server is released, we strongly encourage all Win32 users to move to
    that platform for increased stability and security.
    —-

    Like

  6. I would guess “per development” means “according to some guy I just spoke to who is a software developer”. And I agree with Sander that another possible interpretation of the highly ambiguous license clause is that you can’t have more than 10 other devices connecting to particular XP services on your XP machine. As for your connection problems, I doubt that the OS is explicitly throttling connections. Can you get your hands on a Windows NT/200x Server machine for some testing with that config file? It may be some strange Apache/OS interaction.

    Like

  7. “Apache performs best, and is still most reliable on Unix platforms. Over time the performance, reliability and security for the Apache Win32 port has improved, and continues to improve. Folks doing comparative reviews of webserver performance are still asked to compare against Apache running on a Unix platform such as Solaris, FreeBSD, or Linux.”

    This is a bit of errata. Apache performs equally well, if not a WHOLE lot better, on CPF/OS/400. I’ve not seen a comparative review to prove this, because nobody even appears to know that Apache 2.0 was first released wide-scale on iSeries. Apache (like all code on Risc) is running 64-bit, just like all code for 400 HAS been for past 6 or 7 years now. And Apache, like all 400 software, has only been hit by 1 virus in 20 years (although it’s been reported, and is commonly believed, that there’s never been a single virus). And, in actual fact, developers up in Rochester, MN have been debugging and improving Apache 2.0, from what I’ve read.

    So where are the comparitive studies that rate risk, performance and such…??? (I’ve not yet found this website that has all this info.) And why is this piece of errata about Apache on *nix still floating around?

    (I guess because as most-all everybody knows.. “crap floats”.)

    Like

  8. From the jaded sys admin: this mixed stuff never works; either go with 2000/03 server and IIS or Linux/FreeBSD and Apache and forget about it.

    Like

  9. AFAIK the license for XP doesn’t allow you to use it as a production web server unless it’s for 10 or less clients. I’m pretty sure you _need_ to buy a server version of Windows if you want to do that sort of thing.

    There’s a “Web Server Edition” of WS2003 that will probably suit; I think it’s also the cheapest version. http://www.microsoft.com/windowsserver2003/howtobuy/licensing/pricing.mspx says it’s around $400, so much cheaper than the standard edition.

    I’d suggest getting a 120-day demo version of WS2003 and testing to see if the same problem occurs there.

    Like

  10. One thing that may or may not have been explored as far as Windows licensing is their amazing non-profit/charity pricing. If this is technically for the university or a related-entity, you should be able to get the actual W2000 or W20003 server license very inexpensively. I work for a church and have been amazed at the pricing discounts. Otherwise, I, too, would recommend going with *nix and apache for a cleaner experience. Best wishes!

    Like

  11. We’re seeing the same OS64 and OS121 errors, running Apache 2.0.47 under Windows 2000 Server.

    Correlating the times between the appearance of the OS121 error and the times our external monitoring software reports the site “down”, we’re finding a match.

    Of course, by the time our software alerts us and we can open a web browser to check, it’s back up. I can verify that it does go down – I’ve personally been accessing the site and had it momentarily stop responding. The alert then goes off, and the site starts working.

    (Using Windows because of a company-wide decision to standardize on server OS…)

    Found this mention because of my ongoing search for a solution. Find plenty of problems – just no solutions. Yet.

    Like

  12. I run Apache 2.0.46 under Windows XP Home SP-1
    on my home/office network. Works fine.

    But I wouldn’t run a website off Windows, or
    off Appache under Windows.

    For the web, run Apache under linux/unix.
    Otherwise, expect headaches.

    stan
    reality-based computist

    Like

  13. I don’t know if this is still the case but in NT 4.0 the Kernel actually limited the number of incoming connections on any reserved ports. In other words the errors you might be seeing might be because the Kernel is refusing to let Apache open any more connections. I would not try to run any kind of server on Windows XP, you are asking for trouble legally or technically.

    Like

  14. I really need to know the answer to this question also. I am deffinately not a fan of microsoft but I am limited to useing win xp pro with apache 2.0.48. I am also worndering about this connection limit. If anyone knows of anyone who is using either win 2000 pro or xp pro to server more then 10 concurrent connections. I will be damned before I go out and spend $1200 + just to allow a few more connections to MY COMPUTER. I wish Bill gates would stop being so gready and let people get what they pay for (he sure charges enough for incompetence.)
    You know there is a problem when you install a 500MB O/S and need 2 gigs of service packs and fixes and to be a member of the “patch of the month club” and the “exploit of the week club”…..Im just glad not every company has this philosiphy…..imaging buying a house but only being allowd to have 3 people over at one time…..Unless you want to buy more licenses. Or buying a car that has 65,000 design flaws but as soon as something fails and you have an accident then they will make the parts avialable for you to FIX IT YOUR SELF…..I realize that alot of money goes into developing an O/S but screwing your customers over at every turn and being charged for every mouse click is not a way to make people happy and support you(thats why mac and linux have such a strong fan base).
    as far as im concerned I got burned for ME (preinstalled on my pc by default and i had to pay for it) Bill owes me something better. It didnt even make a good coffee coaster.
    I wouldnt want to spend $1500 for something that doesnt work and neither will anyone else.

    Im learnin linux

    Like

  15. http://www.microsoft.com/windowsserver2003/sbs/evaluation/top.mspx

    This version seems to have finally removed the connection limit in windows.

    Windows Small Business Server 2003, Premium Edition, includes Microsoft SQL Server™ 2000. Businesses running the premium edition can now establish an interactive Web presence with an unlimited number of visitors and can run as many business applications as they need.

    Note Access to Web applications based on Small Business Server 2000/SQL Server 2000 was limited to 50 concurrent sessions. This limitation has been removed with Windows Small Business Server 2003, Premium Edition.

    I plan on truely finding out this week about the 10 connection max in 2000/xp pro versions using apache. I will set up apache (2.0.48) on xp home
    which is hard coded for 5 concurrent connections.
    and will see if it really applies to apache on windows pro. (or at least xp home)
    I will host a 30MB file/download (min.) and useing MSN have as many people as I can download it at the same time. if there is a 5 connection max I should know soon enough.

    I will post my results as soon as I have them.

    till then… hope this info helps…windows 2003 SBS is about half the price of 2000 server. (I still dont know what the limit is for the SBS 2003 standard edition yet. If anyone knows please let me know. for some reason im thinking its 75)

    apache man

    Like

  16. HI im back with the results from my tests for anyone who is interested.
    I have found out that XP home has a hard coded limit of 5 so i figured that was the best way to test my theory.
    I knew someone who has XP home so we convinced him to let us use his pc fot the test.
    (Amd Athalon 1.5 GHz 256 MB SD133 RAM on a residential ADSL high connection $25/month plan)
    We set up Apache (2.0.48) on XP home (SP1a) and useing MSN coordinated a little test useing a 27MB Zip file download.
    (We also had a pc downloading and executing page refreshes every 3 second in case your wondering about all the page requests. and also to solve another issue I added Zone Alarm (free ed.) to see what would happen..there has been a reported issue there and I was curriuos about also)

    These are our results

    – – [29/Jan/2004:15:56:55 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:57:02 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:56:37 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:15:57:24 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:57:34 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:57:39 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:57:44 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:57:49 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:57:54 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:57:58 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:01 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:04 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:07 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:10 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:13 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:16 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:19 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:22 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:25 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:28 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:31 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:34 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:37 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:40 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:43 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:46 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:49 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:52 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:55 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:58:58 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:00 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:15:59:09 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:12 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:15 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:18 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:21 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:24 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:27 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:30 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:33 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:36 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:39 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:42 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:45 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:48 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:51 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:54 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:15:59:57 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:00 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:03 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:06 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:09 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:12 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:15 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:18 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:21 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:25 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:00:29 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:32 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:37 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:42 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:47 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:54 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:01 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:09 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:19 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:25 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:28 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:29 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:30 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:30 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:31 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:31 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:32 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:32 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:01:27 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:37 -0700] “HEAD /my_exp.zip HTTP/1.1” 200 –
    – – [29/Jan/2004:16:00:25 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:01:38 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:56 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:02:12 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:02:05 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:13 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:02:17 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:02:25 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:02:33 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:02:40 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:02:47 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:02:54 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:02:58 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:02:59 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:03:01 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:08 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:16 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:23 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:30 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:37 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:43 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:50 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:57 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:04:04 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:04:12 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:04:20 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:04:28 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:04:37 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:04:46 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:04:56 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:05:03 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:05:12 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:05:21 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:05:30 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:05:40 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:05:48 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:03:44 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:05:57 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:06:07 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:06:15 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:06:22 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:06:30 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:06:38 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:06:46 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:06:54 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:07:04 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:07:13 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:07:21 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:07:29 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:07:37 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:07:45 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:07:53 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:08:01 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:08:10 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:08:19 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:08:28 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:08:36 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:08:44 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:08:52 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:09:01 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:28 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:09:09 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:23 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:09:17 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:09:24 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:01:44 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:00:16 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:09:31 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:09:37 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:09:42 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:09:48 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:09:54 -0700] “GET / HTTP/1.1” 200 895
    – – [29/Jan/2004:16:00:28 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:04:24 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:04:45 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:00:38 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:06:15 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:00:49 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:02:14 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:13:41 -0700] “GET / HTTP/1.1” 304 –
    – – [29/Jan/2004:16:13:42 -0700] “GET /my_exp.zip HTTP/1.1” 200 29774127
    – – [29/Jan/2004:16:26:08 -0700] “GET / HTTP/1.1” 200 895

    as you can see Apache passed with flying colors.
    More then 3x the limit and not a problem at all.
    Not so similar results with IIS on 2000 pro.

    I came across this link also (to answer your other question about being legal)
    http://support.microsoft.com/?kbid=314882%22

    For Windows XP Professional, the maximum number of other computers that are permitted to simultaneously connect over the network is ten. This limit includes all transports and resource sharing protocols combined. For Windows XP Home Edition, the maximum number of other computers that are permitted to simultaneously connect over the network is five.

    and for anyone who understands microsoft contradiction

    Per development: The connection limit refers to the number of redirector-based connections and is enforced for any file, print, named pipe, or mail slot session. The TCP connection limit is not enforced, but it may be bound by legal agreement to not permit more than 10 clients.

    If microsoft doesnt want to supply this service for thier customers they should have no say over 3rd party companines willing to do it for them if they arent going to.
    My best advice ….Screw micro$oft and go to Linux….You will spend more time and money tying to learn the micro$oft licen$ing $tructure then it will take to learn linux from scratch and implement it.
    If microsoft is going to charge you everytime someone clicks a mouse, presses a button or wants to visit your web site why do you need that hassle when Linux/Apache is more secure and FREE???????
    The new “Microsoft smart home” will have a hard coded limit of 3 people at one time.
    If you have more then 3 friends you will have to buy extra licenses before they are allowd to come over.
    WHEN WILL IT END!!! Put a stop to it now and GO LINUX. (if your still stuck on windows …Windows Small Business Server 2003 premium has no limit for this)

    anyone interested in Linux (or anything free for that matter)
    There is a small site that I found that has all these links for the Linux downloads and links to the manuals guides and other usefull resources and tools.
    http://www.mysticdream.net

    hope this has helped.

    apache man

    Like

  17. Ok, I’m a bit confused by the conclusion. Specifically you state it would be cheaper to learn linux. I assume you purchased Windows XP for roughly $200. A copy of 2003 Web is $400. I assume your time is worth something (or maybe I assueme incorrectly), say $80 per hour. The best Linux book I have found is “Learning Linux in 15 Hours”. As such you would spend $80 * 15 or $1200 of your time learning to implement Linux.

    I spent roughly 25 hours from ground zero to get Apache, PHP, and PostgreSQL working. After that I was writing database driven web sites, however the PHP implementation of PHP. But you must understand some key things about PHP that both add time to your implementation and require even more learning. Unlinke ASP and ASP.NET with built in Session support, PHP4 requires additonal configuration, so add more time.

    I also disagree with the assertion that you choose one or the other. I work in the real world. At my job we support DB2, Progress, Oracle, MSSQL, MSAccess, and FileMaker databases. In the enterprise there is no room for thinking that somehow one platform can serve all.

    As such my Suggestion is this: Ditch MSSQL on Wintel it is way to expensive a database platform (and it is far cheaper than DB2 or Oracle). Get a copy of Linux and PostGresSQL running. It is very easy to set up, it’s fast and by far the most advanced opensource database. Many folks advocate mySQL, but it lacks many of the capabilities of Enterprise databases. PostgreSQL on the other hand has it all: ACID transactions, triggers, views, stored procedures, user defined functions, an extensive suite of date and time functions, and geometeric functions.

    Use the WinTel platform for your web development. Go with Win2003 web servers and use .NET if you are comfortable. It’s so easy to program relative to PHP or JSP it just doesn’t compare. If you have alot of legacy .asp then run it on the same server, you don’t have to rewrite a thing, but you will have to enable it on the Win03 server.

    If you are uncomfortable with Linux you might choose to fork out a bit more $$ and hang tight for the PostgreSQL 7.5 release which will be a native release.

    P.S. I find it absolutly fascinating that jinx calls Microsoft incompetent. Jinx failed to spell the following words correctly: deffinately, useing and gready. Perhaps the pot always calls the kettle black? Subjectivity is translucent like the air.

    Like

  18. I didn’t mean to trigger a heated debate over the Microsoft/Linux issue. I was mostly trying to provide an answer to the “original question” about the concurrent limit in XP Pro and keeping it legal. What your requirements are differ from what the original question was and yes I know there are advantages to each.
    All I wanted to imply was that I had no problem passing the “hard coded limit” that’s it.
    As for the legal part…. that is for you to decide. But SBS does allow unlimited concurrent connections legally. (The “what’s the cheapest Windows O/S I can do it on legally” part) If he was still unsure about using Apache on XP Pro Linux is a good alternative and it’s FREE.
    Yes there are pros and cons to each and everyone has their favorites for whatever reason…. It doesn’t make anyone right or wrong.
    Just what works the best for you and will still supply the security you require.

    Yes “Iboeldt” was correct I didn’t factor in my time. Me personally I really enjoy learning new things and I never see it as a waste of time or money lost. I guess we are just different in that aspect. I would rather read up on Linux then watch the TV. I enjoy learning something new. Rome wasn’t built in a day and you can’t expect to become a master at Linux in 15 hours…. maybe some can but I can’t. Did it only take you 15 hrs (and for less then $1200) for your MCP/MCSE/MCDBA????
    The same is with someone who has never used Windows or Mac. You just can’t expect to sit down and know everything about it the second you boot it. Are you saying that once you learn something (like Windows) you never need to keep up on it or keep your certification up to date???? (Unless you’re getting paid for every page you read???) I’m not trying to start an argument just trying to clarify your comments since you were so quick to criticize.

    To answer to the other question…. Yes I spend an equal amount of time trying to keep up with Windows also…. I am glad to see all the variations of Win 2003 but there have also been some great advances with Linux also.
    The new Red Hat and the Fedora Project are worth keeping an eye on. But it’s the same as anything Linux has a lot of different flavors but that doesn’t make any one of them right or wrong. It’s just personal preference that’s all.
    Me personally I like FREE. If something will save me money in the long run then YES it is worth spending “15 Hours” to learn….
    After you have done that…. then throw a few more servers into that equation and you will very quickly pass that $1200 but I still don’t have to pay for the Linux servers. So 4 Microsoft Servers with all the licensing and everything required to “keep it legal” Does cost more then $1200…. so my math says its a good investment…Plus the raise and Bonus I got more then paid for my time.

    Yes I totally agree with the right server for the right job (Microsoft or Linux or what ever) and I did not mean to imply otherwise. All I am saying is that I spend a lot more time fixing Windows serves then Linux servers… Nuff Said. I can only wonder if “Jinx” hit a nerve with his comment and your only defense was to criticize “jinx’s” spelling… I did find it quite funny though.

    Sorry to offend anyone that was not my intention.

    Apache Man

    Like

  19. This is a very long thread, and I have not read it all but I can clean up what I believe is the main issue. The connection limits within Microsoft Windows Professional version DO NOT affect Apache 1.3 of 2 for Win32. I orginally ran Apache 1.3 on Win 98, it worked reliably for 3 months. Then we changed to Windows 2000 Professional, at that time we had 16 computers all using the web and 4 websites hosted. We then changed to Apache 2 on Windows 2000 Server. The server host 10 Websites and provides a an internet connection for 30 PCs, all theses PCs have the home page netcenta.co.uk which is served via apache. We have no concurrent connection issues. Today we have changed to Windows 2003 server, and IIS is trying to take over again.

    The only problem we have had with Apache was that the ‘truevector’ component of Zonealarm would cause Apache to crash. However, this has been fixed in the latest release of the product.

    Hope this helps!

    Like

  20. iboeldt

    Sorie two ofende u
    I deedent meen it 😦

    Butt the werds u speled rong wer

    “assueme, Unlinke, additonal, geometeric, alot, absolutely”

    end linux shud bee kapitalized it ees a propur name

    end i appoligise four eny inkonveenience mi speling mai hav kaused u

    so yes

    Perhaps the pot always calls the kettle black? Subjectivity is translucent like the air.

    jinx

    Like

  21. I recently moved my Apache2 from win2k to win2k3 Server and had terrible stability problems at first. Sometimes Apache would load as a service sometimes it would not. Sometimes apache -k start would work other time not at all. I got many errors like the ones above. My War FTP was even worse. It could not even communicate with itself under win2k3.

    After a lot of expermentation I removed Apache2 and WarFTP as a service and then loaded them as a program. Presto everything started running good again. The weird errors in the logs all disipeared too and Apache doesn’t crash in the middle of the night now. War FTP I just load from the startup folder. Apache I load with a .bat file like this:

    cdapache2
    :start
    apache
    goto start

    I created this file to simulate the restart of a windows service. However my Apache hasn’t crashed since I started running it as a program.

    Hope this info helps some!

    Like

  22. Hi there,

    a friend of mine and I are trying to set up an appache server (ver. 2.0) But after long hours of testing we only get it to respond to requests from our local networks. We are running Win XP SP1. We both have a WLAN Router with switch an port forwarding swet up correctly.
    Is anybody there who can help solving this problem?
    Maybe a config file for appache or a link!!

    Thanks,

    Mike

    Like

  23. Concurrent Session Limits by OS
    Windows 2000/XP Pro: 10
    Windows XP Home: 5
    All Windows Server (NT, 2000, 2003): Unlimited

    All CONCURRENT inbound tcp/udp connection will be counted.

    FYI: do not concern yourself w/ legal issues. The OS will regulate the connection limits on its own. If your connection is over the limit, your client will be notified.

    Scenario
    Suppose your WinXP hosts an Apache httpd server. This means your server will only allow you up to 10 inbound connections at any given time. To avoid going over the connection limit, decrease your session timeout in Apache. This allows your sessions to expire quickly. Therefore decreasing the likelihood of reaching the maximum session limit.

    Like

  24. We didn’t seem to have any problem passing the 10 concurrent connection limit in XP using Apache.
    Apache did not seem limited in any way.
    If anything it out performed IIS 5 under the same conditions.

    Hope this helps

    The Dude

    Like

  25. The semaphore timeout period has expired. : winnt_accept: Asynchronous AcceptEx failed.

    OK, after a few hours and several coffees i have found a fix for this issue.

    Check you have either/all of these processes running on the box (ctrl+alt+del gnubbie 8D)

    mslaugh.exe (blaster)
    ascv.exe (not entirely sure. bad tho mmkay?)
    wuamgrd.exe (prevents you from updating windows :eek:)

    and anything else suspicious… (just do a google on the process name…)

    If you have any of these it will be affecting your whole system in general! I noticed this when trying to install service pack 1a on a clean install.

    So after going into safe mode and deleting these exe’s, running a registry cleaner (hijackthis) and installing sp1a (yay, no more blaster! and other malware) i find that typing “http://localhost/“ mystically works again.

    Yay for me.

    Hope this helps some other desperados. 😀

    Like

  26. I am running Win2003 Enterprise and Apache 2.0.50 and I am having the exact same problems as described. The logfile has the same errors. I have not tried the service/program fix. I started the IIS instead and got it running with Perl and everything. Don’t know why all these problems started but for now Apache is history for me. I ran WinXP Pro before on the same hardware with the same Apache setup and it never failed.

    Like

  27. I had exactly the same problem where apachebench would fail after ten connections to IIS and only seven connections to Apache 2.0.

    I tried all manner of things, but it was eventually solved by uninstalling ZoneAlarm 5.1.033.

    Now I can do up to 500 concurrent connections to Apache.

    If it still doesn’t work without ZoneAlarm, make sure Windows Firewall is disabled. I am behind a NAT Firewall in my router, which forwards port 80 to my web server, so in theory don’t need the software firewall.

    Like

Comments are closed.

%d bloggers like this: