Nowadays the most of the cloud hosting companies are offering 5$ per month hosting plan, we wanted to know if this plan can be used in production and how much load it can handle. This article will include information about how much load can handle WordPress on the cheapest cloud hosting plan. We will reveal if the cheapest cloud hosting plan is marketing thing or it can solve some sort of problems for new starters.
Server set up and WordPress installation
For this load test, we won’t use any server-side nor web app optimizations. We will use cloud hosting built-in features such as “One-click apps” which deploys LEMP or LAMP Stack plus WordPress in one click. With few mouse clicks, we have the cloud server with WordPress installed. We choose LEMP Stack (Linux, Nginx, MySQL and PHP-FPM). Here are hardware properties:
Thread(s) per core: 1
Core(s) per socket: 1
CPU family: 6
CPU MHz: 1799.998
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 30720K
$sudo lshw -short -C memory
H/W path Device Class Description
/0/0 memory 96KiB BIOS
/0/1000 memory 512MiB System Memory
/0/1000/0 memory 512MiB DIMM RAM
Running command # free -m
total used free shared buffers cached
Mem: 490 368 121 23 52 158
-/+ buffers/cache: 157 332
Swap: 0 0 0
shows that there is 121Mb free RAM and it was enough to consider that server can’t handle enough amount of concurrent users but we decided to continue our experiment. WordPress also will remain default settings and data. So, we have LEMP Stack and WordPress without any optimizations installed on the cloud server with 512Mb RAM and 1 vCPU. Let’s start our load test.
Load testing WordPress with JMeter
Load test workload model:
Amount of concurrent users: >20
Average response time: <5000ms
Hardware resource consumption: <70% (RAM doesn’t meet these criteria)
JMeter test structure
– Four HTTP samplers: index page, post page, category page and search.
– Uniform Random Timer: 5000ms random delay with 2000 offset delay
– Caching enabled with Cache-Control/Expires option.
– Concurrent pool size: 4
Load testing WordPress with 20 concurrent users
Average response time: 78.64ms
Avg. Throughput: 3.67Hits/s
Opening WordPress from local browser returned 3.20 s response time.
During load testing with 20 users I had a feeling, “am I testing correct server?”, because response time was less than 1 second, CPU usage was about 10% and RAM usage remained the same. The result was unexpected, load test passed without any error or issues.
Load testing with 100 concurrent users
Opening WordPress from local browser returned 3.81 s response time.
During load testing, CPU usage started increasing drastically and after 80 users CPU usage reached 70%.
Load testing was performed without any preparations and, for this reason, it didn’t simulate real production case. There are two things we have to double check before making any conclusions. First, we have to add sample data into WordPress and install any responsive theme because it doesn’t make sense to test default WordPress theme with empty content. Second, we have to perform Soak testing with >70% RAM usage, because server handled 80 users but the thing is how long it can handle such load. So, the next load test will include these two things. Subscribe for updates or follow us on Twitter.
Interested in our services? Get a free quote! Contact us!