I am trying to move our 2 web sites and some related applications from one Virtual Private Server to another. The new server is much more powerful, has more memory, and more disk space. However, one of the web sites is performing poorly in the new environment.

I copied the configuration over from our old server by exporting IIS settings and xcopy files. One of the web sites is in .NET 2.0 and everything seems fine with that site. However, our other site (a 3rd party shopping cart that uses .NET 3.5) is extremely slow - especially when moving from the shopping cart page to the checkout page.

I have hunted for 2 days for an explanation for this. During this time I have done several things to try to see if I can at least make the behavior change, but with absolutely no success. Here is a list of some of the things I have tried:

  1. Running aspnet_regiis -i -enable and several other options of this tool such as -ua
  2. Uninstalling and reinstalling all versions of .NET
  3. Removing all other IIS web sites except for the one in question
  4. Deleted and manually added a new web site node in IIS
  5. I manually scanned the code for any clues as to what is happening. There is a call to the UPS server on those 2 pages that is not anywhere else in the application, but I was able to telnet to that server fine.
  6. Gone through the installation guide of the application to ensure there were no steps I missed.
  7. Reinstalled the SSL certificate and checked the intermediate certificate configuration.
  8. Rebooted the server.
  9. Compared the registry keys related to IIS.
  10. XCopied another copy of this version of the app to the directory (removing the old one first) in case the original was corrupted.
  11. Went over the configuration settings in IIS including the log file, application pools, SSL, and ASP.NET configuration.
  12. Discovered that the virtual memory paging file was not configured. I attempted to configure one, but the virtualization software (virtuozzo) disabled the setting when I rebooted.

Anyway, I thought I would just put this out there in case there is something I have overlooked. I am doing the testing using a hosts file configuration since the DNS is currently pointing to the old server. The host name is required to reach the site. The 2 configurations of the same site can be compared by alternating these 2 hosts file entries:

# New Server (with slowness)
#  www.foldingchairdepot.com
# Old Server (working fine)   www.foldingchairdepot.com

The new server is Windows Server 2003 RC2 Enterprise Edition.

The strange thing is although I am seeing slowness on the client, there is practically no CPU utilization on the server. I have verified in several ways that I am definitely reaching the new server with the host file entry. I have also tried with 2 different internet connections and several different browser versions.

Any assistance to try to resolve this issue would be appreciated.


After doing some more research, I discovered what the problem was. It turns out that the new Virtual Private Server was hosted at a different facility than the old one. This in itself was not a problem, but the database was still at the old location 1200 miles away.

Anyway, the solution to my problem is to move the database to the same facility (and LAN) as the VPS and I am in the process of doing that now.


You've certainly done your homework. That's both good and bad. It means that you've provided great info, but it doesn't leave any easy suggestions to offer. ;)

Some suggestions:

  1. I noticed that the homepage fails 'most of the time' on the old site, and I noticed that even some images fail. For example, this image. That's possibly the cause of the failure. If you can track down why the .gif file fails, that may lead to answers on the rest.

  2. Check the IIS logs for any clues. If you haven't already, you can edit the log settings to include time-taken. That comes in handy, as well as the status code. Compare a visit on the good server with the new server and see if they are different. Any differences will be good leads.

  3. Check out Event Viewer and Process Monitor (www.systeminternals.com). Procmon is handy to track down access denied issues.

  4. Try comparing a static site (a few html pages) between the servers, and then a simple .asp site and finally a simple .aspx site. See if you can narrow down at which point the performance differs.

  • Thanks for the info. I am not seeing the home page (or the image) failure here, could you let me know what browser you are using to get it? I forgot that I left this question open even though I discovered the answer already - it turns out the new VPS is in a different state geographically than the old one and the database is not. – NightOwl888 Mar 22 '11 at 8:58
  • Glad you got it figured. A remote database would do it. I can reproduce the issue by setting my hosts file to the address and refreshing the page a couple times. It fails without a couple tries. Then I visited the original and copied the link to your logo image in the top left corner. Then I visited that directly: foldingchairdepot.com/BVModules/Themes/Depot/images/…. That fails on the IP. – Scott Forsyth - MVP Mar 22 '11 at 14:07
  • Ahh, OK. I have a special web site set up on the VPS that is designed to be a catch all - 403 and 404 errors go to a custom page named Default.htm (which is also configured as a default page). The page is a message that the web site is down for maintenance. If you aren't looking at a browser you will see an HTTP error when requesting the image, otherwise you will see the maintenance page. – NightOwl888 Mar 22 '11 at 23:09
  • Got ya. Good to know that it's expected. – Scott Forsyth - MVP Mar 23 '11 at 3:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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