Load testing WordPress on cheapest cloud hosting plan

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:

 

$sudo lscpu

Architecture:          x86_64

CPU(s):                1

Thread(s) per core:    1

Core(s) per socket:    1

Socket(s):             1

CPU family:            6

Stepping:              2

CPU MHz:               1799.998

BogoMIPS:              3599.99

Virtualization:        VT-x

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

RM-WP-100-report

Average response time: 78.64ms

Avg. Throughput: 3.67Hits/s
RM-WP-20-users

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

RM-WP-20-report
RM-WP-100-users

Opening WordPress from local browser returned 3.81 s response time.
RM-WP-100-top

During load testing, CPU usage started increasing drastically and after 80 users CPU usage reached 70%.

 

Conclusion

 

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!

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s