Here are some troubleshooting notes for Skepticator's performance issues
OK, so here's the problem
Skepticator's Homepage is subject to a severe slow-load issue, and has been for some time. It's therefore prone to timeouts and frustrating to use.
Slow pages: /default.aspx and /search.aspx
Fast pages: /YouTube.aspx
So given that there ARE fast pages, it's not a whole-server or whole-website issue.
Caching the data call to pull the feed items results in a saving of about 300ms or so. Which is good, but doesn't help us much.
Adding instrumentation to the page reveals that between the PreInit() and Unload() events of the ASP.NET lifecycle
is a period of about a second or so
The twitter feeds load in ~200ms
So the problem MJST be outside the ASP.NET lifecycle. So it's not my code, right?
Well, maybe.Problem solved
: There are 1.8 million rows in the search history table. This was being accessed with a nested query (in order to strip duplicates), and was taking upwards of 15s to process. But because it's in a User Control called UsefulStuff.ascx it didn't get benchmarked in with the rest of the page events. Intrumenting the Use Control code eventually showed it up. Skepticator home and search are now loading in < 1s each (though SEO might take a hit from the search namespace being less open to googlebot)