So I’ve been running into some speed issues with my site which has been online for a few weeks now. It’s an MVC3 site using MySQL on discountasp.net.
I cleaned up the structure of the site and got it working pretty fast on my local machine, around 800-1100ms to load with no caching. The strange thing is when I try and visit the live site I get times of around 15-16 seconds, sometimes freezing up as long as 30 seconds. I switched off the viewstate in web.config and now the local loads in 1.3 seconds (yes, oddly a little longer) and the live site is down to 8-9 seconds most of the time, but that’s still pretty poor.
Without making this problem to specific to my case (since there can be a million reasons sites go slow), I am curious if there are any reasons why the load times between the local Visual Studio sever or IIS Express would run so fast while the live site would run so slow. Wouldn’t anything code wise or dependency wise effect both equally? I just can’t think of a reason that would affect the live site but not the local.
Any thoughts?
Further thoughts: I have the site setup as a sub-folder which I’m using IIS URL Rewriting to map to a subdomain. I’ve not heard of this causing issues before, but could this be a problem?

Further Further Updates: So I uploaded a simple page that does nothing but query all the records in the largest table I have with no caching. On my local machine it’s averages around 110ms (which still seems slow…), and on the live site it’s usually over double the time. If I’m hitting the database several times to load the page, it makes sense that this would heavily affect the page load time. I’m still not sure if the issue is with LINQ or MySQL or MVC in general (maybe even discountasp.net).

So as I mentioned above, I had caching turned off for development, but only on my local machine. What I didn’t realise was there was a problem WITH the caching which was turned on for the LIVE server, which I never turned off because I thought it was helping fix the slow speeds! It all makes sense now 🙂
Fixing my cache issue (IQueryable<> at the top of a dataset that was supposed to cache the entire table.. >_>) my speeds have increased 10 fold.
Thanks to everyone who assisted!