Wordpress vs static HTML on shared hosting
One of the reasons I started writing makeblog was because I use shared hosting and felt like I needed more speed than Wordpress and fewer features. So I wrote makeblog with the intention of providing a fairly minimal but complete blog implementation. Today I got around to benchmarking Wordpress (what my blog previously ran on) against the static HTML pages generated by makeblog. Results with Wordpress:
Document Length: 41435 bytes
Concurrency Level: 10
Time taken for tests: 69.079 seconds
Requests per second: 1.45 [#/sec] (mean)
Transfer rate: 59.18 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Total: 1689 6722 1844.6 6439 14825
Percentage of the requests served within a certain time (ms)
50% 6439
...
100% 14825 (longest request)
Results with makeblog (static HTML pages):
Document Length: 11812 bytes
Concurrency Level: 10
Time taken for tests: 6.994 seconds
Requests per second: 14.30 [#/sec] (mean)
Transfer rate: 169.11 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Total: 382 691 145.5 740 873
Percentage of the requests served within a certain time (ms)
50% 740
...
100% 873 (longest request)
Due to a new website layout, the Wordpress-generated index file is 4x the size of the makeblog-generated index file; however, the request time for Wordpress is 10x that of the static HTML pages. It's not just the relative speedup that's significant though; the original Wordpress setup could take up to 14 seconds to display the front page to a first-time visitor, while with the static HTML pages we have reduced the maximum load time to under a second. Now performance is acceptable even for first-time visitors without anything in cache.
These results were generated using Wordpress and makeblog on a Joyent shared hosting server, and tested from the same connection. Recently I switched to Arvixe shared hosting, and the results from that server are as follows:
Concurrency Level: 10
Time taken for tests: 3.411 seconds
Requests per second: 29.32 [#/sec] (mean)
Transfer rate: 425.39 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Total: 205 333 63.6 352 425
Percentage of the requests served within a certain time (ms)
50% 352
...
100% 425 (longest request)
Obviously, it's hard to beat static HTML pages in terms of speed, but soon I will post benchmarks of my blog running on static HTML pages and running on the lightweight WSGI app I am working on to support commenting. If you have a lightweight blog, go ahead and give makeblog a try; it can even import your existing Wordpress database for a seamless transition.