views:

19

answers:

2

Hi everybody, we are struggling to find out what could be the asp.net application performance decrease when we pass from our staging server to our production server and we would like to hear from you to help us find the bottleneck.

Our staging server is a Intel Core 2 Quad CPU Q8200 (2.33 GHz) with 4GB of RAM, Windows Server 2003 R2 SP2 x64 Edition. Databases are hosted on Sql Server 2008 Express Edition. Everything seems to work smoothly. Page change is almost immediate ad page load time (for example switching pages in a grid) is ok.

Our production server is a VIRTUAL double Intel Xeon 3.00 GHz with 2GB of RAM, Windows Server 2008 Web Edition SP2 x86 Edition. Database are hosted on Sql Server 2008 Web Edition.

Our application is a .net 3.5 (migrating to .net 4 in these days) using classical best practices (masterpages, css, ajax, paging for data, client cache for static resources, gzip compression on IIS for static and dynamic resources, server side cache for data that doesn't change frequently...).

I really can't understand what can cause the application to run so differently between the two scenarios. What could that be? The missing RAM? The load on the production server? The network limit?

What can I do to narrow bottlenecks' research? Thanks a lot,

Marco

+1  A: 

You could briefly enable tracing on your production server (don't forget to turn it back off) and see what stages of your page loading are taking so long).

Paddy
That's a good suggestion, but... how can I discover if these long load times are caused by something different by the application (i.e. load on the server?)
Marconline
@Marconline - I think that this is probably a good place to start. You can see if your code is running slowly - if it's not then it may be network bandwidth. You could also keep an eye on the process monitor on the server.
Paddy
A: 

If you can easily add 2 GB more of RAM to the virtual server, try that, it's easy and might matter. Check your RAM usage in task manager and see how much you're using.

Are these servers hosted at the same place or might there be network latency differences?

On the server, run perfmon.msc and watch the counters, what's maxing out?

Scott Stafford