Hello WPT! Recently, I’ve been trying to help a friend with her WP site. The goal is to have the initial load time as close to 1s as possible but under 2s. So far we are slowly moving towards that goal. W3 Total Cache has been installed and she has moved her site to a VPS for the time being, Cloudflare is also enabled.
WP’s backend seems to take one whole second to serve the first byte. I am still looking for ways to reduce that down. However, I am not sure if that’s a inherent thing with WP. Has anyone here see WP site with less than 1.0s for TTFB? If so, what’s the secret? Reduce the amount of connections or plug-ins?
Somewhere down the road, CSS sprites will be implemented. For now, I will just try to tackle the TTFB first. Any advice would be appreciated. Thanks guys and gals!
I have a test site I use to play with WP.
With no caching whatsoever it returns the base page in 200ms: http://www.webpagetest.org/result/120524_46_F17/
With W3TC and the cache primed it comes back in 33ms: http://www.webpagetest.org/result/120524_B7_F26/
There are a couple of key things for fast wordpress performance:
1 - Screaming fast database. WP is a database hog and runs a ton of queries to generate a page (and it grows as you add plugins). If you host the database on a SSD it will do wonders (my test site is on a really slow SSD). There are a few hosting providers that use SSD’s (WPEngine and getsolidstate.com come to mind).
2 - Fast caching. Make sure you have APC installed, tuned to use enough memory and W3TC configured to use APC as the cache (page, database and object caches).
3 - Fast PHP performance. Nginx+APC+php-fpm is a screaming fast combination but there are other options available as well (my test site is Apache + APC + mod_php behind an Nginx reverse proxy, all on the same box).
W3 TC will also give you all sorts of performance information. Turn on debugging in the plugin settings, load the page in a browser and view the source. At the end of the HTML there will be comments with information on how long it took to generate the page and where the time came from (including cache hits and misses).