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.

Comments

comments powered by Disqus