Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

TL;DR: IIS 7 on WS2008R2 serves pages really slowly; everyone assumes it's because it's IIS and we should have gone with an Apache solution on Linux. I have no idea where to start debugging the problem.


I work in a nearly all-MS shop with a bunch of fellow programmers who think Linux is the One True Way. Management recently added a Windows machine with IIS to serve Target Process (third-party agile system), but the site runs extremely slowly. Everyone, to a man, assumes it's because it's on IIS, and if only management would grow a brain and get some Linux servers in here, we could really start cleaning things up! ...Right. Everyone "knows" IIS isn't fit to serve .txt files.

...Well, as the only non-Microsoft hater in the bunch, I am apparently the only one who thinks maybe the Linux guy who hated being told to set up the IIS server may have screwed things up. I'd like to go fix it, but I don't have any clue as to where to start as I am not a sys admin.

Help?

Edit: it's not a DNS lookup problem, as we visit the machine using an IP address (yet another configuration issue...). Thanks for the ideas so far.

share|improve this question

5 Answers 5

Use the Firebug extension in FireFox on a client PC and enable the "Net" tab and load a page from the IIS server. This will give you an idea as to where the slowdown is. I.e. is it crappy DNS, is it the request, is it a proxy and so on.

Also use Resource Monitor (its available from a button on Task Manager) like Bart said in his answer.

share|improve this answer

If this server is running a site that has database interaction, is the database the actual bottleneck but the symptoms make it appear as though the IIS server/site is the slow point? That's happened to me many times. The SQL server was starved for resources but the slowness to clients was perceived as a website/webserver performance issue.

Some other miscellaneous areas you may also want to check: -How much bandwidth is allowed to the site within IIS? -What's the maximum number of connections allowed to the site within IIS? -What type of bandwidth is the web server connected to? If you have a 1.5 Mb pipe but more than 1.5 Mb of traffic at a time, you'll see a performance hit.

share|improve this answer

Take a look at some of the IIS performance counters and counter for either ASP or ASP.NET depending on what the site is running. If ASP.NET take a look at for instance:

.NET Data provider for SQL Server -> SoftConnectsPerSecond .NET LocksAndThreads -> Contention Rate pr second .NET Memory -> % Time spent in GC

That should give you an idea if the application is either low on database connections, experiencing locking issues or beeing messy with memory.

share|improve this answer

IIS has an annoying (sometimes) feature for low traffic websites. It recycles unused worker processes – which cause the first user to the site; sometimes extremely long delay (30+ seconds). http://dotnettimes.wordpress.com/2014/03/24/fixing-slow-initial-load-for-iis-web-site/

share|improve this answer

Could it be something with DNS lookups? Usually I check that first on anything involving a server that is slow with interacting with clients but still ends up serving the data properly.

Logfiles may show errors that can help guide you. You'll need to check those as well.

The performance monitor should have some counters to tell if the CPU or drive or memory are causing a bottleneck.

Otherwise, you may want to look at configuring IIS for profiling performance.

These may help.

http://www.stevetrefethen.com/blog/ConfiguringIISLoggingForWebSitePerformanceAnalysis.aspx

http://stackoverflow.com/questions/528261/iis7-profiling

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.