Blog

We’ve added some new Xen OS images:

  • CentOS 6.2 x86 CentOS 6.2 Gnome Desktop for SolusVM on x86 Solus
  • CentOS 6.2 x86-64 CentOS 6.2 Gnome Desktop for SolusVM on x86-64
  • CentOS 6.1 x86 CentOS 6.1 for SolusVM on x86
  • CentOS 6.1 x86-64 CentOS 6.1 for SolusVM on x86-64
  • Fedora 16 x86-64 Fedora 16 for SolusVM on x86-64
  • Fedora 16 x86-64 Fedora 16 Xfce Desktop for SolusVM on x86-64
  • Fedora 15 x86 Fedora 15 Xfce Desktop for SolusVM on x86
  • Fedora 15 x86-64 Fedora 15 Xfce Desktop for SolusVM on x86-64
  • Gentoo 2012-01 x86-64 Gentoo 2012-01 for SolusVM on x86-64
  • Ubuntu 12.04 x86 Ubuntu 12.04 LTS Precise for SolusVM on x86
  • Ubuntu 12.04 x86 Ubuntu 12.04 LTS Precise Xfce Desktop for SolusVM on x86
  • Ubuntu 12.04 x86-64 Ubuntu 12.04 LTS Precise for SolusVM on x86-64
  • Ubuntu 12.04 x86-64 Ubuntu 12.04 LTS Precise Xfce Desktop for SolusVM on x86-64
  • Ubuntu 11.10 x86 Ubuntu 11.10 Oneiric for SolusVM on x86
  • Ubuntu 11.10 x86-64 Ubuntu 11.10 Oneiric for SolusVM on x86-64

As always, if there’s anything specific you want just let us know!

Share

Today we’re doing things slightly differently with a guest post by Peter (http://petermolnar.eu), one of our customers. Peter is the developer of WP-FFPC – a WordPress caching plugin.

The why-s

There were some discussions lately at LinkedIn mostly on the topic of choosing a VPS (virtual private server) over a shared hosting provides any benefits. My opinion: a VPS can clearly outnumber a shared host in performance and freedom, but not in pricing. Price can only be matched when the VPS is an unmanaged one, meaning you (or someone you hire) has to take care of all the configurations, the server management, the monitoring – even the operating system install itself.

For most people this looks horrible and finding a cheap but good system operator is a nightmare for anybody. The problem is, that on a shared host you are limited to the system services. There are really few hosting providers how allow switching between web servers, or even switching PHP versions, and what’s worst: you clearly are not allowed to tweak any of the services.

I know there are really few WordPress users who wants – and is able – to fine tune the backend of his install, but there are tiny things which can make incredible difference.

I decided to make a little test to show how little is enough for, in this case a WordPress Network, to brutally gain on performance.
Originally I wanted to show only the power of WP-FFPC, a full page cache plugin written by me. The problem was that I left APC object cache plugin active, so I decided to show the importance of APC instead.

Test setup

  • KVM VPS V1 plan from CheapVPS
  • Ubuntu server 11.10 (kernel 3.0.0-16-server)
  • nginx 1.0.11 (gzip compression enabled at level 1)
  • PHP 5.3.6-13ubuntu3.6 with Suhosin-Patch
  • Percona server (MySQL replacement) 5.5.20
  • opcode cache: APC-3.1.9*
  • WordPress Network 3.3.1, sunrine (domain mapping) enabled
  • WordPress cache enabled
  • APC object cache plugin*
  • WP-FFPC full page cache for APC plugin*

*APC cache was only enabled for the first test.

The page I was testing is a category archive page. It shows 4 special post: all posts includes numerous small pictures, some larger ones, loading jQuery with some extensions. It’s also a domain mapped sub-blog of the site.

I have to add that I have a little trick made on my server config. Normally all sub-site content is server by PHP in a WordPress Network. This was change by my when I added some extra into my nginx setup. If this test had been done with the default WordPress Network setup, I’m fairly sure my result would be pretty awful, please take this into your count.

The address of the tested page: http://petermolnar.eu/photoblog/

What is nginx?

nginx is a webserver, similar to apache2 (running behind most of the web pages on the world).
The main differences: nginx is a lot harder to extend (for example, there are no possibilities to use files like .htaccess in apache), but it eats significantly less memory and CPU time in exchange.

What is PHP?

PHP is one of the programming languages WordPress was written in. Traditional programming languages are needed to be compiled, thus they become and exe, or some kind of binary file. PHP instead is compiling all files, all the time on-the-fly -and this requires inmense computing power.

What is PHP-FPM?

The web server can load the PHP compiler in various ways; apache2 server has a built-in module for it, which, unfortunately, can eat up all the possible memory. An other way is to use a “PHP server”, which can than be access with a protocol, named FastCGI. PHP-FPM is a FastCGI server version of the PHP compiler.

What is opcode caching?

PHP Opcode cache can store compiled variables, pages and parts of the code. By default PHP always recompile everything which is really not neccessery at most times. The opcode cache therefore uplifts a lot of uneeded compilation, speeds up the program and saves CPU time.

My load test setup

I’ve used loadimpact.com for making a stress test on my server. I have so low traffic on this very server that the stress test should make a clearly visible difference.

Test schedule

The test setup: 20 minutes total runtime split into 5 minute parts. All parts have limited maximum simultaneous users:

Total Runtime = 20 mins:
Max. 16 users 5 minutes
Max. 32 users 5 minutes
Max. 64 users 5 minutes
Max. 128 users 5 minutes

Here is a screenshot of the program schedule interface:



Click to zoom

Users geographical dispersion

I’ve given extra weight to the Dublin traffic since it’s a UK based site and this is where I expect most traffic to come from in a ‘real world’ situation:

Dublin, IE 50% of all users
Tokyo, JP 10% of all users
Portland, US 40% of all users

Here’s a screenshot of the user scenarios setup:



Click to zoom

Load Test Results

Without APC enabled:



Click to zoom

With APC enabled:



Click to zoom

Meanwhile on the server…

These are munin graphs taken from the server while the test were running. There are two highlighted spikes, the first time was with APC on, the second (~1 day later) is without APC cache.

Number of nginx requests/sec



Click to zoom

Traffic on ethernet device



Click to zoom

Server load

Note: Server has 4 CPUs, therefore 4 means the full utilisation.



Click to zoom

Conclusions

CheapVPS performance

The performance and the capacity of the smallest – and probably one of the cheapest KVM based virtual servers – surprised me again. It could handle 100 siumltaneous connections per second without opcode cache! For calculation: if this would keep up for a day, it would result in 8,640,000 hits on that day, which is way over normal site’s traffic. For £14.40 (with taxes!), this is the best buy ever.

The results

Aggregated 5/sec is not really a bad result, but the system could only handle it until limited number if requests/second. With cache enabled the load time went down by 2 seconds, which is really much (more than 40%) and also, I could not reach the limit of the server. For calculation: keeping 220 req/sec hitrate for a date would result 19,008,000 hits per day, and the server is still serving all the content with the same speed.

The munin graphs show another important thing: without cache, the server load can be measured in at lest 3 times multiplied. This also result that the ethernet traffic and the handled nginx requests per second will fall off as well.

Overall conclusion

  • CheapVPS worth every penny
  • PHP opcode cache should be implemented in it by default, without the need if installing additions.
  • Tweaking the backend can bring out immense performance of WordPress

WP-FFPC WordPress caching plugin

WP-FFPC is a full page cache plugin for WordPress. It can use APC or a memcached server as backend. The naming stands for Fast Full Page Cache.

PHP has two extension for communication with a memcached server, named Memcache and Memcached. The plugin can utilize both.

Features:

  • Exclude possibility of home, feeds, archives, pages, singles
  • Use APC or memcached as backend
  • 404 caching
  • redirects caching
  • Last Modified HTTP header compatibility with 304 responses
  • Shortlink HTTP header preservation
  • Pingback HTTP header preservation
  • Fallback to no caching if any error or problem occurs
  • WordPress Network compatible
  • nginx compatible
  • (optional) syslog messages of sets-gets-flushes

You can download WP-FFPC cache here:

http://wordpress.org/extend/plugins/wp-ffpc/

Share

We’re currently upgrading all of our UK OpenVZ servers. There is no cost at all to you for the upgraded hardware.

We’ve already emailed you all about the work and you’ll get a reminder email the night before we move your VPS over to the new servers.

There is no scheduled downtime although there may be 5 minutes outage while IP routes are updated.

Any questions, just drop in a ticket.

Share

After some testing and tinkering over the last few weeks, we are now pleased to announce that we are 100% IPv6 ready on KVM, Xen and OpenVZ!

If you would like IPv6 then just drop us a ticket and we’ll add it to your account.

Share

We’ve updated our OpenVZ images. We’ll review these every month – any special requests, let us know.

CentOS
CentOS 5 32bit
Centos 5 64bit
Centos 5.4 32bit
Centos 5.4 64bit
CentOS-5.5-32Bit
CentOS-5.5-64Bit
CentOS-5.6 32Bit
CentOS-5.6 64Bit

Debian
Debian 4.0 32bit
Debian 4.0 64bit
Debian 5.0 32bit
Debian 5.0 64bit
Debian-6.0-32Bit
Debian-6.0-64Bit

Ubuntu
Ubuntu-8.04.3-32Bit
Ubuntu 8.04 64bit
Ubuntu 9.04 32bit
Ubuntu 9.04 64bit
Ubuntu-10.04 32 bit
Ubuntu-10.04 64 Bit
Ubuntu-10.10-32Bit
Ubuntu-10.10-64Bit
Ubuntu-11.04 32 bit
Ubuntu-11.04 64 bit

Fedora
Fedora-10-32 bit
Fedora-12-32Bit
Fedora-12-64Bit
Fedora-13-32Bit
Fedora-13-64Bit
Fedora-14-32Bit
Fedora-14-64Bit
Fedora-15-32Bit

OpenSuse
OpenSuse 11.1 32bit
OpenSuse 11.1 64bit

Slackware
Slackware-12.0-32 bit
Slackware 13.1 32bit
slackware-13.37-32bit
slackware-13.37 64 bit

Arch
arch-0.8 64bit
arch-2010.05-minimal-32 bit

SL
scientificlinux-6.0 32 bit

Gentoo
Gentoo-Openvz-amd64-2008.11.27

Share

Xen updated too. Every month we’ll review and update our list if needed. Any requests, just let us know.

Arch
Arch Linux 2011-07 64 Bit

CentOS
CentOS-5.4 (32 and 64 Bit)
CentOS-5.5 (32 and 64 Bit)
CentOS 5.5-32Bit-Webmin/Virtualmin
CentOS 5.5-64Bit-cPanel AutoInstaller
CentOS 5.5-32 Bit- Gnome Desktop
Cent-OS-5.6 (32 and 64 Bit)
Cent-OS-5.6 64 Bit cPanel AutoInstaller
CentOS 5.6 Webmin/Virtualmin 64 Bit
Centos-6.0 (32 and 64 Bit)
Centos-6.0-Gnome Desktop (32 and 64 Bit)

Debian
Debian-5.0 (32 and 64 Bit)
Debian 6.0 (32 and 64 Bit)

Fedora
Fedora-12 (32 and 64 Bit)
Fedora-13 (32 and 64 Bit)
Fedora 14 (32 and 64 Bit)
Fedora 15 (32 and 64 Bit)
Fedora 15 Xfce Desktop 64 Bit

Gentoo
Gentoo-2010 (32 and 64 Bit)
Gentoo 2011-07 64 Bit

Slackware
Slackware-13.0-32Bit
Slackware 13.37 (32 and 64 Bit)

Ubuntu
Ubuntu-9.10 (32 and 64 Bit)
Ubuntu-10.04 (32 and 64 Bit)
Ubuntu 10.10 (32 and 64 Bit)
Ubuntu 10.10-64 Bit-Maverick with ISPConfig 3
Ubuntu 10.10 64 Bit Maverick Gnome Desktop
Ubuntu 11.04 (32 and 64 Bit)
Ubuntu 11.04 LXDE Desktop 64 Bit

Share

We’ve updated our ISOs for KVM. We’ll review these every month – any special requests, let us know.

CentOS
Cent-OS-5.6 64 Bit
CentOS-5.6-32 Bit
CentOS-6.0-32 Bit
CentOS-6.0-64 Bit

Debian
Debian-6.0 32 Bit
Debian-6.0-64 Bit
Debian-5.4 32 Bit
Debian-5.4-64bit

Ubuntu
Ubuntu-10.04 32 Bit
Ubuntu-10.04 64 bit
Ubuntu-10.10 32 Bit
Ubuntu-10.10 64 Bit
Ubuntu-11.04-32 Bit
Ubuntu-11.04-64 Bit

Fedora
Fedora-14 32 bit
Fedora-14 64 bit
Fedora-15 32Bit
Fedora-15 64Bit

Gentoo
Gentoo 2011-32 Bit
Gentoo-2011-64bit

Slackware
Slackware-13.0 64 Bit
Slackware-13.0 32 Bit

BSD
FreeBSD 8.0
FreeBSD-8.2-64Bit
NetBSD-5.1-32Bit
NetBSD-5.1-64Bit
OpenBSD-4.8.32Bit
OpenBSD-4.8-64Bit

Open Indiana
OpenIndiana-build-148-32bit
OpenIndiana-build-147-32bit

Solaris
Solaris-11-express

Turnkey (all 32bit)
turnkey-appengine-11.1
turnkey-django-11.1
turnkey-ec2sdk-11.1
turnkey-joomla15
turnkey-mediawiki-11.1
turnkey-phpbb-11.1
turnkey-tomcat-11.1
turnkey-wordpress-11.1

Share

Well, the WordCamp weekend is all over now, and what a fantastic time we had! We met some really great people, attended some fantastic presentations and learned so much about WordPress theming, plugins and development.

Shouts to @davecoveny from InterconnectIT for great presentation on Sunday (slides here), @jonnyauk for a great intro to WordPress theming with the awesome looking Wonderflux and @mkjones for the great plugins talk.

It goes without saying that @tonys and the rest of the organisers deserve a huge thank you for their hardwork in getting the weekend (and the crowds of people!) organised.

Also shouts to @madhavaji, @tonys, @sanchothefat, and @wpsites for a good laugh and natter at the socials!

And we’ve still got stock of our beta WordPress Appliances. Try one for free, just enter code WCUK11 at the checkout!

Share

We’re delighted to announce that we are sponsoring WordCamp UK this year, taking place on the 16th and 17th July at the University of Portsmouth.

Full details available on the WordCamp 2011 UK website.

We’ll be there for the whole weekend so if you are heading down, do come and find us! We’re big fans of WordPress (and virtualisation ;) ) so this is a great opportunity for us to meet some like-minded people and get behind such a great project. We’ve also got an exciting new WordPress related beta product to talk about!

We’ll be tweeting throughout both days, so follow @cheapvpsuk and @wordcampuk for the latest news over both days…

…and If you aren’t attending, we’ll be out and about in Portsmouth in the evening if you fancy a beer!

WordCamp UK 2011 full details

Share

On 23rd June, the Open Virtualization Alliance (OVA) announced 65 new members, including CheapVPS.  In May, technology leaders BMC Software, Eucalyptus Systems, HP, IBM, Intel, Red Hat, Inc. and SUSE announced the formation of OVA, with the goal to provide education, best practices and technical advice to help businesses understand and evaluate their virtualisation options, including open source alternatives such as the Kernel-based Virtual Machine (KVM).  In joining the alliance, we are reaffirming our commitment to working with the best technologies and suppliers in order to deliver affordable performance and reliability.

Share
View Older Posts