We have recently completed a flagship project of rationalisation and cost reduction of Newbury News group’s web presence.
The task involved updating and rationalising the main web site – newburytoday.co.uk, which is an exceptionally busy WordPress site that had been built some years ago and expanded to a level that required bigger and bigger servers to maintain an acceptable performance. It became clear that adding more horsepower was not the answer and in-depth performance analysis was needed.
Newspapers present a particularly tough set of problems because they are 24/7 sites, where restoring from backup is not an option – who wants yesterday’s news? Testing on a live site is never recommended so a “sandbox site” is essential and simulation loading to go with it. Bit by bit, suspect code was removed and poor performing code singled out for treatment. Cacheing is fundamental to the performance of a busy site but editors are constantly working on the next story and don’t want it cached, when they are editing so front end cacheing has to be separated from backend cacheing.
Following extensive tests, cloud architecture was chosen as the platform. A high bandwidth platform it essential. The lesson learned from extreme fluctuations of news demand pointed either to excessive capacity to cope with the peaks or a cluster of servers. The high capacity had been tried over a some months and fell short of requirements both in terms of cost and performance. The cluster approach was chosen, placing greater reliance on the HTTP server front end to handle cacheing and routing to worker services handling PHP requests. The results have been exceptional and beyond expectations. The servers are Amazon EC2 Linux instances grouped in a cluster. Webserving is handled by an NGINX front end box with sufficient worker boxes to cope with demand. Logs indicate the level of demand and new workers are easily added at a sensible cost.