Most versions of Vista come with IIS, which allows a computer to host a web site. However, unlike Microsoft server operating systems the version of IIS that runs on Vista has been limited. But this isn’t new ... the version of IIS that ran on XP Pro also had limitations, such as only allowing one web site to be hosted and no more than 10 concurrent connections at any one time. But it looks like Microsoft wanted to throw a little more confusion in the mix with Vista by setting varying limitations on IIS depending on which edition of Vista you are running. I had original read a couple articles on what those would be before Vista’s RTM, and have tried to remember what they those limitations were when I was trying to decide which version of Vista to install on a particular machine. Every time I looked for this info on the net it seemed like it was harder to find than it should have been … so I wanted to write this post to help shed some light on the subject.
| |
Concurrent Connections Limit |
Number Of Sites |
Simultaneous Request Processing Limit |
FTP |
Advanced Security Features |
| XP Pro (with IIS 6) |
10 |
1 |
Unlimited |
Yes |
Yes |
| Vista Starter |
Not Available |
| Vista Home Basic |
| Vista Home Premium |
Unlimited |
Unlimited |
3 |
No |
No |
| Vista Business |
Unlimited |
Unlimited |
10 |
Yes |
Yes |
| Vista Enterprise |
Unlimited |
Unlimited |
10 |
Yes |
Yes |
| Vista Ultimate |
Unlimited |
Unlimited |
10 |
Yes |
Yes |
Old Limitations Lifted
One really great feature of IIS 7 on Windows Vista has over IIS 6 on XP Pro, is that you can now have an unlimited number of sites on running on a machine (previous versions of IIS on Windows Client only allowed 1 site). Also the limitation on the number of clients that can be actively “connected” to the server at any one time has also been removed. This is discussed more in-depth later in the post.
New IIS Limitations in Vista
Wouldn’t it be nice if Vista ran the same full-blown version of IIS that runs on Windows Server 2008? Unfortunately this isn’t the case, probably because Microsoft wants to give people hosting medium to large web sites an incentive to purchase their server operating systems … instead of trying make a Vista box their “production web server.” While there are is no longer a limit on the number of connections or sites, there are some limitations present on IIS 7 on Vista machines.
Request Processing Limit
IIS has a new request processing limit, which means IIS will only process a particular number of requests at any one time and subsequent incoming requests will be put on hold in a process queue. This is a limitation that is in place no matter which edition of Vista you are running. However, the maximum number of requests that will be processed actually varies by SKU. Ultimate, Enterprise, and Business editions will all handle up to 10 requests at a time, while Home Premium will only handle 3 requests at a time.
This may sound similar to the “connection limit” that was in place on IIS 6 running on XP Pro, in fact many places on the internet including some Microsoft employee blogs and even some stuff on the IIS site use the terms interchangeably. However, I think I have figured out what the difference is and would like to clarify it here. IIS 6 running on XP Pro had a connection limit of 10, which meant at any one time no more than 10 computers could have active sessions with the web server. Each of those computers could be submitting multiple requests to the server at one time, but that didn’t matter. The only thing that mattered was that no more than 10 connections exist at one time. If there were 9 connections and another computer made a request, then IIS would respond to the request. However, if there were already 10 connections and there was another request from a computer other than those 10, IIS would simply ignore that new computer and not even respond to its request.
IIS 7 running on Windows Vista doesn’t have a connection limit like that. There can be 1,000 people connected to the server at one time. However, Vista will only process a certain number of individual requests from those clients at time. For example, if 15 people were requesting various content (e.g. images, static html, active server pages) … the server wouldn’t process those requests all at once. It would process the first 10, and place the other 5 in a process queue. When it responded to one of the 10 it was working on, it would then pull one of the waiting requests from the queue and start working on it. So anytime IIS is processing the maximum number of requests (either 3 or 10 depending on version), any subsequent requests will be stuck in limbo until it is their turn. Although this request processing limit might seem more restrictive than the connection limit on XP … at least in this scenario the client will eventually get a response, even if it took a while to get it. IIS on Vista isn’t supposed to be a production environment. If there are so machine requests that come into IIS that this lag becomes an issue … you should either pay to have your site hosted by a 3rd party or move it to a Windows Server 2008 machine.
Additional IIS Limitations on Home Premium Edition
The version of IIS on Vista Home Premium Edition is intended “to support the needs of the casual or hobbyist web developers,” and doesn’t include these features:
- FTP Functionality
- Windows Authentication
- Digest Authentication
- Client Certificate Mapping Authentication
- IIS Certificate Mapping Authentication
- Remote Administration
- ODBC logging
IIS on Vista Starter & Home Basic?
If you look closely at Vista Starter or Home Basic you will notice that IIS 7 is listed as one of the available Windows features that can be installed. However, none of the FTP or “web hosting” functionality (relating to static content, Classic ASP, or ASP.NET) is available. The IIS 7 components available on these editions only serve as supporting infrastructure for Microsoft's Windows Communication Foundation (WCF).
For more info, here is a good article that talks about some of this stuff: http://www.iis.net/articles/view.aspx/IIS7/Deploy-an-IIS7-Server/Installing-IIS7/IIS7-Features-and-Windows-Vista-Editions