1

For reasons that are lost in the mists of time, our older Windows (2000, 2003) servers have been configured with a "Administrative" IP address and three further "Hosting" IP addresses. There are also additional IP's for sites with SSL certificates.

The "Administrative" IP address is where all our internal provisioning, monitoring and other such apps are bound to. We lock this down and don't permit access to it from the outside world (other than over our VPN).

The three "Hosting" IP addresses are used for IIS website hosting (in conjunction with host headers).

Historically, new site IP address allocations have been rotated through these three IP addresses. I'm not really sure why.

I'm building a new batch of servers and I'm considering just having a single hosting IP address.

Our servers can host up to 1200 sites on a single machine.

Is there a technical limit to the number of IIS sites that can bind to a single IP address? Our Linux platform seems to do just fine with just a single shared IP + host headers.

I initially thought this might be an SEO thing, but given that IPv4 address space conservation is paramount I hardly think Google or other search engines could reasonably penalise site rankings just because hundreds of sites hang off the same IP.

Kev
  • 7,877
  • 18
  • 81
  • 108

2 Answers2

2

From a (now broken) IIS FAQ at TechNet:

Q. Does Web server performance degrade when Web sites use host headers instead of IP addresses?

A. The overhead for IIS to check a host header is negligible compared to the total cost of satisfying an HTTP request, even for a static file. Also, host headers scale better than IP addresses when you host thousands of Web sites on a server.

It doesn't sound like there's a real upper limit to the number of host header sites you can have, but I've yet to find any hard evidence.

gravyface
  • 13,957
  • 19
  • 68
  • 100
  • Is there a limit to the maximum number of sockets maybe? – Kev Jan 07 '11 at 15:54
  • Of course there is. What the limit is I don't know off hand but it's not infinite, as there is a finite number of resources available. Each session/socket is going to consume some amount of memory and CPU and since those resources are finite then the number of sockets must also be finite. – joeqwerty Jan 07 '11 at 16:03
  • 1
    Sure, but host header parsing is a separate thing altogether. I think the point of the FAQ answer was to say "if you're concerned about performance tuning on your IIS server, look elsewhere, because host header parsing ain't the problem". – gravyface Jan 07 '11 at 16:04
  • @gravy - thanks for the info. @joe - I'm aware there's going to be a finite limit, I should have been clearer and asked if this limit was a TCP/IP numerical limit (given memory and cpu were unlimited), i.e. does the Windows TCP/IP stack have some arbitrary limit on the number of internal data structures representing sockets/connections? – Kev Jan 07 '11 at 17:40
  • No arbitrary limit. Parsing also is not that bad - I parse ID strings hundreds of thousands of times per second in another proejct. THis is done using hash tables which are QUITE efficient. You likely run into a problem with your resources (memory, cpu, mostly socket count) first. – TomTom Jan 07 '11 at 17:50
  • MS advice for dense hosting prefers less IP addresses: http://technet.microsoft.com/en-us/library/cc739438(WS.10).aspx – Kev Jan 07 '11 at 17:57
1

Have a look at this link: http://www.it-notebook.org/iis/article/host_headers_vs_ip.htm

It appears to be that using Host Headers is the prefered method.

cwheeler33
  • 764
  • 2
  • 5
  • 16
  • thanks for the pointer, it's shame some of the links are broken, but it lead me eventually to: http://technet.microsoft.com/en-us/library/cc739438(WS.10).aspx which is agree's with the article. – Kev Jan 07 '11 at 17:55