Make your website the fastest it possibly can be.
If you want your WordPress website to be fast, this is the service for you. We will build a new WordPress environment for you on Digital Ocean (at a location of your choice and price per month of your choice – other VPS providers may be possible too – ask us) using the LATEST and GREATEST tools, speed boosts, caching services, compilation engines and more to ensure your site loads in the fastest speeds possible for a single server configuration.
We offer multi-server configurations with this service. This makes you the fastest possible stack you can get for your money.
We have hand-picked the best components for your server to make it as high performance as possible.
Each server will have the following high-performance items installed and configured:
- Varnish – front-end accelerator
- Nginx – high performance web server
- PHP 7 – the latest high performance PHP
- PerconaDB – 100% compatible with MySQL but twice as fast
- Redis – ultra fast object cache (can be used for other caching too)
- Fail2ban – you will be automatically protected from bot attacks at the firewall level – this boosts performance because it reduces server load
- Real CRON job – don’t rely on customers visiting your site in order to run batch jobs, we install real cron
- Lifetime SSL – we use letsencrypt to get you a free lifetime SSL certificate
Multi-server Configuration Options
If you are importing large quantities of data to your server there is an insurmountable fact you need to know:
Batch-processing and real-time processing do not mix well
If you are importing products using your front-end server, then you unavoidably run the risk of slowing things down for your website visitors.
The solution to this is to move to a multi-server configuration.
What normally happens with WordPress is this:
- User enters your URL in browser
- URL resolved to IP adress by your DNS provider
- Page requested from that IP address
- Page request processed by Nginx or Apache
- Request passed to PHP 7
- PHP 7 talks to MySQL or MariaDB to fetch any data required
- PHP 7 returns page to Nginx or Apache which then sends data to the client
What we do with our multi-server set up is we replicate the data at the back-end over multiple MySQL databases using PerconaDB Galera Cluster Replication.
Then at point 4 above, we insert a load-balancer element with Nginx. This load balancer allows us to send traffic to 2 or 3 back-end servers (PHP+MySQL).
Then we choose one of the servers – say server 1 – and only that server has WP CRON enabled. The other servers don’t have WP CRON enabled. That means, Server 1 becomes the batch processing server which runs all the WordPress CRON stuff (big data imports, image manipulation etc).
We also synchronise files using GlusterFS. That means, if you install a plugin on Server 1 – the plugin files will automatically be copied across to Server 2 & Server 3. Then when you activate the plugin, that option will be changed in the database and will be replicated too over to the other servers.
With Server 1 handling all your batch processing, we modify the load balancer to send web traffic to Server 2 and Server 3 and only /wp-admin/ and the real CRON accesses Server 1.
What we need from you?
In order to get the Rocket Stack, we will ask you to create a team in Digital Ocean and invite one of our team members.
We will need to know the size preference you have for the nodes in your cluster – minimum size is 2GB Ram.
Once we have created the load balancer droplet, we will need you to point a domain name at the IP address for it and let us know that domain name.