CMS & WordPress
This may be a strange question. I'm looking to hire someone who can examine some load time issues I'm having on our VPS. It's not a server issue, but rather it seems to be a problem specific to some of our WP sites which use the same theme+customizations (they all tend to load in 10-15 seconds , but only on the first load after I haven't visited them for a while. Other sites on the same server always load lightning fast, and their total file size is larger)
I'm aware of tools such as wp cache + minify. I will apply these, but I think there is an underlying problem which needs to be solved first.
Now, my question is - what qualifications would someone who is also an expert in troubleshooting/possibly fixing load time issues have - who exactly am I looking for?
Have you tried using the Pingdom Tool: http://tools.pingdom.com/? I've used this before to find time-sucking culprits. I would start here and then once you determine the root cause, if you still need help, then you know what kind of expert you need - someone that has experience with a particular plug-in, library, or what have you. Good luck.
Yes, thanks I have used that - I'm not technical at all and I can't seem to conclude anything from the Pingdom report though.
It seems many of the files it suggests improvements for are css files though, although there are mentions of many other things which I'm not exactly sure about.
The Pingdom report at tools.pingdom.com will give you the time required to do the DNS lookup, the wait time for the server to respond with the HTML content, and the time it takes to download all the files on the page.
If you want your site to remain secret, you could take a screenshot of the test results, hovering your mouse over the bar chart on the first line of the output so we can see the times (which is your page HTML, DNS lookup time, etc.), edit out the URL then upload it so we can take a look at it. Then we can get an idea how long the server wait time is, which is when the server should be loading all the files to generate the HTML output before sending to the browser.
Do a test on Pingdom then a couple minutes later run another test. It loads much faster the second time, right?
I wanted to mention that I, too, have noticed that when Wordpress has not been accessed for a while it takes considerably longer to load. It doesn't take as long for me as it does for you (mine is 1 - 2 seconds when it hasn't been accessed for a while, 600 - 700 ms when it has been recently accessed and I'm on shared hosting). One possible reason may be that when the site is accessed regularly, the code is cached in memory and is loaded from there instead of being read from disk. A few years back I did a test where I created a PHP file that included another PHP file and set a timer to see how long it took to load the include file. The first access always took magnitudes longer than subsequent accesses, leading me to believe the code was cached in RAM. But I am no expert in the workings of web servers.
As a matter of fact, I was running a Pingdom test on a Wordpress site I have under development prior to coming to Sitepoint and reading your post. As the site is currently being developed, I have almost no traffic from humans or bots. For the first Pingdom test, it took 1.65 seconds to load the page (using the default Twenty Twelve theme) with a wait time of 1.09 seconds which is not something I find impressive. The server load at the time was 1.64 on a shared server with 12 physical cores (two hex core CPUs) so there is no issue with server load being too high. 27 minutes later I ran another Pingdom test and it showed a load time of 604 milliseconds with a wait time of 208 milliseconds. Much faster the second time.
You didn't mention if you were using any type of PHP accelerator. The most time consuming part of generating a web page is reading data from the hard drive. With as many file includes as there are in Wordpress, not to mention any plugins you may be using, it can take some time to generate a page. But not 10 - 15 seconds. Something isn't right.
The pingdom results seems dominated by yellow, but it varies a lot for each test - and yes, subsequent tests seem to perform better. Any conclusions you could draw from the results would be greatly appreciated.
I'd be very happy with a consistent 2 second load time, although I know it could easily be better.
I'm quite sure we are using a php accelerator. A developer suggested it some time back and I had our host install it on our server if I remember correctly.
You certainly have some issues. The Pingdom test results you saved are showing that the wait time for the server to respond with content is 5.35 seconds, which is a very long time. That should be the time the server is executing all the PHP code, doing the database queries, and constructing the HTML output. The receive time for the server to transmit the data to Pingdom was 3.15 seconds, which again is a very long time when you consider the HTML is only 20.7 kb. All of the other (static) files are being downloaded fast.
On a shared server, this would be a sign that the server is overloaded. But since you are on VPS, that is unlikely. Can you find out what your server load is? There has to be a reason for that poor performance. It could be a lot of things. A bottleneck in the datacenter, with the MySQL server, with the hard drives. Is your database on localhost or on another server? I wonder if any type of internal maintenance by the Wordpress code was being performed at that time. Still, it shouldn't take that long. I have a phpBB forum that loads lightning fast but when the script does maintenance every so many views it takes a little longer at that time.
I know there can be problems with certain accelerators when used with cPanel. I don't know what your setup is.
Another thing you might want to look at is two files that were not found. A triangle with an exclamation sign in it indicates the file wasn't found. Might be a good idea to clean those up.
I just ran a Pingdom test (I did not save it or allow it to be public). Your site loaded in 2.81 seconds with a wait time of 1.12 seconds (which is not that bad). A test a few minutes later showed a load time of 1.97 seconds with a wait time of 531 milliseconds. The decrease in wait time may be the result of code being cached in memory by the server. Faster load times on subsequent accesses as you have experienced.
I haven't the time tonight, but I will look at this again tomorrow and see if I can find anything else.
Thank you, I would really appreciate that.
I'll get the answers to your questions and post here as soon as I have them.
This topic is now closed. New replies are no longer allowed.