IIS 6 Tuning Guide? - iis

I have been a developer for 10+ years and so far my IIS knowledge is just enough for deploying stuff on it and get it running. Recently I have been playing with IIS 6 and realize the huge difference on the worker process model. I think I would need some good guide to update my knowledge in this area. Any good article/book recommendation?

IIS Tuner is an open source tool for tuning IIS 6, 7 and 7.5

There are several online resources, starting with this one:
Performance Tuning (IIS 6.0)

www.iis.net - central place for everything related to IIS..

I recently came across this which I thought was very good: Best practices for creating websites in IIS 6.0

David Wang has some great articles on the inner workings of IIS6. For various reasons his blog was split over two sites:
http://blogs.msdn.com/david.wang/default.aspx
http://w3-4u.blogspot.com/
And...Tess who is a MS escalation engineer has some amazing articles on debugging and diagnosing badly behaved/perfoming apps:
http://blogs.msdn.com/tess/default.aspx

Related

What is the configuration of the microsoft.com IIS servers?

A couple of months ago, I had found a page on a Microsoft Team blog, where the techs were explaining what configuration they used on their own IIS web servers running the microsoft.com website behind the scene.
This article was dated several years ago. Infortunately, I have forgotten to bookmark it ! .. and cannot find it again.
Even if some of the information in this article was dated in some aspects, a large portion of it was very relevant to help me configure my own IIS web servers.
Shame on me for not having bookmarked it !
Would I have the chance that one of you can lead me to this blog entry again ? Maybe on archive.org ?
Many thanks ;)
I finally got this article again !
It was not on a microsoft blog, but on Technet. My fault, sorry.
In this article, the Microsoft Engineering Operations (MSCOM Ops) team share with us which configuration settings they use to tune application pools running the microsoft own servers.
I really thank their team for sharing with us the Microsoft.com Operations settings, that abviously must be adapted for each or our cases.
Here it is ! :-)
https://technet.microsoft.com/en-us/library/cc745955.aspx
Hoping having saved the day of many other users in addition to mine ;)

What is the Limit of IIS 6.0

What is the limit of IIS 6.0? like for example if i need to host 100,000 or 200,000 websites on IIS 6.0, how many machines would i need? or is IIS7 would be a better choice in this case for some reason?
As mentioned in the comments above the scale isn't so much the number of websites you create in IIS, but how complex and how busy those sites are.
In IIS6 one website does not necessarily equate to one executing process on the server. Application pools can group multiple websites into a single executing process to group and/or isolate applications. Alternately a single app pool can spawn multiple executing processes to make better use of server hardware.
It might help if you were to provide more detail in your question about what exactly you're trying to accomplish. If you're going to be serving hundreds of thousands of sites it would probably be a good idea to partner with a hosting company, or get some assistance from someone who knows the ins and outs of IIS, or another platform in detail and has operational experience with working through large-scale hosting scenarios.
IIS7 is not radically different from IIS6 in any performance-related way; with one exception: you can run ASP.NET in a "native" pipeline mode that bypasses some processing steps. I prefer IIS7 (if I can choose) because of its manageability advantages. But like everyone else said here: the question is impossible to answer without more information.
Hosting that many websites with IIS will be cost-prohibitive in licensing fees. Most large scale web hosting is done on Linux using Apache.

What to know about IIS?

I would like to know what kind of things in IIS are really important to you on a day to day basis? And what should I look into initially to get started? Any articles/books/tutorials are welcome.
Have you thought about getting into some Virtual Lab, such as:
http://virtuallabs.iis.net/
This link is full of resources also: http://learn.iis.net/
The labs are a good place to start. Philosophically, the biggest thing to remember about IIS is it really is just a "phone switch" of sorts--it patches requests through to the appropriate handlers.
The other big thing to understand, IMHO, is the underlying windows security model. IIS rides on it and most folks who get into trouble are actually having trouble with windows security, not IIS. But the problems manifest themselves through IIS which can lead to some confusion.

mint.com programming technology

Does anyone know what's mint.com's programming language/technology? Are they using Java? .NET? Python? Ruby?
Their site is extremely good and I was just wondering what they've chosen to develop their web site.
Thanks.
P.S. MINT.COM is a Personal Finance Management online application.
P.S. 2: THANKS EVERYONE FOR ANSWERING. I really found every single answer very helpful. Also I am happy I found out about Matt's blog.
I found a job posting for mint.com, this might give some idea about the technology they're using:
http://mint.jobscore.com/jobs/mint/softwareengineerfulltime/c1owZqeQOr3OM4aaWP50_m
Looks like:
Linux or Unix server
Java
Hibernate
MySql database
I'd guess Java
Their front-end marketing site is
X-Powered-By: PHP/5.2.9
But the login page is powered by
Server: Apache-Coyote/1.1
Coyote is used with Java-based systems.
I guess Java, by looking at the job openings.
"Looks extremely good" part I guess comes from YUI based on Matt's blog .
There are also some very nice snippets and samples on his blog that are used on mint.com.
I'm guessing they're not using .net as their servers are all running F5 Big-IP or CentOS. Here's the Netcraft report. But it's hard to say what their service is developed on--though job openings are certainly one potential indicator.
According to the Wikipedia article about the founder Aaron Patzer, the alpha version was built with J2EE and mySQL.
http://en.wikipedia.org/wiki/Aaron_Patzer

Recommendations for securing Internet-facing IIS Host?

I'm setting up an Internet-facing ASP.NET MVC application, on Windows 2008. It uses SQL Server 2008 for its database. I'm looking for best-practices for securing it.
I found this article, but it's a bit dated now. How much of that advice is still valuable?
Some background -- it's a personal site, behind my home NAT/firewall box; and I'll only forward ports 80 and 443 to it. The IIS server itself is a Windows 2008 host running on HyperV (I only have one physical box to spare).
One useful thing that's mentioned in that article (which had occurred to me already) is that the IIS box shouldn't be a member of the domain, so that an intruder can't easily get off the box. I'll be removing it from the domain in a moment :)
What other tips should I (and anyone deploying to a bigger environment) bear in mind?
I know that this isn't strictly a programming-related question (there's no source code in it!), but I guess that most programmers have to dabble in operations stuff when it comes to deployment recommendations.
You might take a look at these two tools:
Best Practices Analyzer for ASP.NET
SQL Server 2005 Best Practices Analyzer (even though you are using 2008, still might be of help)
I don't know about removing it from the domain, but I'd certainly disable LanMan hashes, keep the system fully patched, and use good password security. Make sure that any processes running in IIS run from least privileged accounts, i.e., don't run the worker processes under IDs that are in Local Administrators.
This will be of great help, certainly:
Microsoft Web Application Configuration Analyzer v2.0

Resources