I’ve got several low usage Joomla sites that are running on what’s suppose to be a decent VPS package (Quad Intel(R) Xeon(R) CPU E5620 @ 2.40GHz / 2GB ram)
During the day this is a typical test result: http://www.webpagetest.org/result/120131_4R_c3d5f8601b15c31bd0130077e57bd593/
I’ve setup caching and optimized as best I know how and when I monitor the loads during a test with .top there’s nothing that jumps out (i.e. low memory usage, low cpu load averages and I/O .wa have only short peaks in the 5% range).
From this point, how do I figure out whether the slow ttfb is caused by the VPS or the node/network it’s on. The one thing that points me to the node is that ttfb improves dramatically (to under a second) during off hours but I’d like to be sure that I’m not missing something.
Thanks for any help.
Looks like a prime candidate for an APM solution (New Relic or Dynatrace). New Relic has a free trial period where you get 2 weeks of the full diagnostics before it drops down to a less-granular mode (which is free forever) and it’s really easy to set up.
Both solutions will track your back-end performance over time by instrumenting the server and should be able to tell you if it is the site code, database or external services that are causing the issues.
Here’s a high-level write-up I did on it a few weeks ago: http://calendar.perfplanet.com/2011/when-good-back-ends-go-bad/
Just wanted to thank you for your input and advice. Once I got past the learning curve, New Relic did the trick. I discovered that one of the components was doing excessive connections back to it’s cdn (located on another continent) on every page load which was causing the delay. Being able to drill down and do a detail trace in an application is invaluable. Now I just need to figure out how to afford it.
That’s great news. For what it’s worth, New Relic has a basic tier to their offering that doesn’t give all the detail but lets you keep an eye on the performance. You might be able to operate with the free tier and step up to pro if you need to investigate another issue. It’s not quite as good as having it available all the time so you can retroactively see what is going on but it’s better than nothing.