Before we dive into all the details our work contains, let us outline a brief introduction of the composition of the paper.
Testing environment
Firstly, we need to setup our testing environment. It will include Apache HTTP and Nginx as web serving applications. Then, we will install and setup PHP v5.6 and the latest HHVM to interpret our WordPress .php
files. We also need to install and setup a database software. For our purposes we will use MariaDB instead of MySQL as it is compatible with the latter database. We then proceed with setting up the latest version of WordPress. Other utilities such as benchmarking tools will need to be prepared in order to fully and reliably measure loading speed and resource consumption of our WordPress-based web application.
Benchmarking
In the second part of our work, we will undergo several rounds of benchmarks with different configurations on the server side. We will see how the Apache HTTP with HHVM performs against Nginx with PHP, for example. We will try to be very brief in this part of our work so it does not become too long and tedious to read.
WordPress performance improvements
In the last part of the paper, we will be discussing various WordPress performance improvements. We will look heavily into different kinds of caching, both caching on the server and software sides. Performance-enhancing WordPress plugins will be also studied as well as researching the WordPress API documentation for better theme and plugin development as far as the topic of our work is concerned. We also cannot forget to talk about using CDNs, especially CloudFlare.com, which we will study in a great lengths.
Reading prerequisites
The author of this paper assumes that the reader is proficient with working in command line, using Linux-based operating systems and that he or she understands the basic configurations of Apache HTTP, Nginx as well as WordPress-based web applications or sites. In order for the reader to perform and reproduce all the steps outlined in this paper, he will need two Linux-based operating systems with a reliable Internet connection and enough bandwidth. Below is a list of the software the author was using during his benchmarks mentioned in this document:
- Ubuntu v14.04 server
- Apache HTTP v2.4.7+
- Nginx v1.4.6+
- PHP v5.6
- HHVM v3.5.0+
- MariaDB v10.1.1
- WordPress v4.1
- W3 Total Cache v0.9.4