06 May Fast and Performance WordPress at AlibabaCloud, and cost saving
There are tons of tutorials sharing about how to host WordPress on the Cloud,
this series of articles are to share our cloud methodology, and technology how Artisan deploy WordPress on the Alibaba Cloud.
The process of deployment is always:
1. optimize current architecture, cache all you can, doing so will help you to save unnecessary scaling cost (why scale to 4vCPU when you actually just need 2?)
2. Moving database to its own tier, separating DB out from Web / App tier if its not being done yet
3. Storage handling, for WordPress case, how to handle wp-content when we scale to more than one web server
4. Session handling, this is good news for WordPress, nothing much need to be done on infra for this, unless some plugin using PHP _SESSION to store data
This article will focus on (1), most WordPress sites just need the following applied, doesn’t even need to go for horizontal scaling 🙂
Here’s how we start, from Alibaba Cloud Console :
- Create the ECS instance, we always start from Compact xn4 type, burstable instance type is not our cup of tea 🙂
- OS : Ubuntu 16.04 x64
- UltraDisk will do, since the WordPress work load is not IO-intensive
- Make sure port 80 and 443 is enabled in security group, then its good to go
- The usual apt-get update and apt-get upgrade
- Reboot for patches to be applied
- Start building the stack: EasyEngine
(EE) is a great tool for fast deployment, and the has fast + high performance stack built-in,
Nginx, fast-cgi cache, PHP7, Redis, easy LetsEncrypt deployment etc., all we need for WordPress is available.
*But the project has not been updated for quite awhile, hence we are moving towards Stateless Container-based WordPress in near future, stay tuned 🙂
Here’s the steps, to start building:
wget -qO ee rt.cx/ee && sudo bash ee # install easyengine
sudo ee site create example.com --wpredis --php7 # install wordpress on example.com
That’s it, example.com will be up and running in just few minutes time,
EE will prompt you for your user name and email, and after installation is completed, wp-admin password will be shown in cmd.
Load test it with siege / ab / JMeter, you will find that not just the First Byte Time is fascinating (our number is always < 100ms), you can handle much much much… more concurrent viewers to your site, cutting down costs of your cloud servers to 2-4x
Coming up next, moving Mysql to ApsaraDB, ultimate goal is to share how we make deploy WordPress on Alibaba Cloud, handling huge traffic, and maximising cost saving.