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 single-server or 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
- MariaDB – 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
But how fast is the Rocket Stack really?
It depends what you’re doing, but typically you’re going to be seeing < 500ms server-response times to fetch the entire HTML. Analysis tools like GTMetrix etc will report higher times because they include fresh fetches of all your included JS, CSS, and image files but <500ms is very typical from the Rocket Stack.
If you’re interested in seeing reviews from other customers, this Rocket Stack is brand new (April 2017) but it supercedes our previous Mercury Stack and is faster by about 50% on average. So – you can go see the Mercury Stack reviews to get a feel for how fast we’re talking.
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 MariaDB 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 rsync. 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.
It’s possible to switch this replication off – e.g. if you wish to set up the plugin and configure it fully before replicating all the changes 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/ accesses Server 1.
What we need from you?
In order to get the Rocket Stack, please create a droplet with Digital Ocean using Ubuntu 16.
Choose whichever size and location you like and add our SSH key so we can log on to build the stack. Our SSH key is:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAzMGAGvTNvnmOW9okyOlSUVvkh7DtZ4UXsPpuRyIPhgITfMkAwEa+KmDtH1UUIDh5OqAmSrxDpjJTH5HMr6FW+H8oCYf9Nu5OWpCxDCwAgDYywPPBVuEDKLZsaxDY21/eBHhWM4ECLiJFoMGaWjOpoC4ILxoavne4wGz4EiOpCL5U9lIPgLhuL1OwoFeCGo1QqvkIP5OiEqPvDgFfhrnEe1ljEM2XL96kZplGs8eZoggTObVzZvBGoNgyAlEsS0Y/6itN7Vz+EEJTWKRDbax0x3VuqpB6KH4/9L9ZxGSC8cLx0sIlrfCaTzbTrZ0zI8NcnVkZ2W48AmzBs+jMQDLIiQ== rsa-key-20170112
Once your droplet is created, point a domain name – e.g. dev.yourdomain.com at the IP address of your new droplet.
Once you’ve done that, let us know the domain name and we will build your stack. You can reply to your order confirmation with the domain name or use our hullo chat system.
If you have any pre-sales questions, you can find us on Hullo Chat in the bottom right of this page.