In our tests, we were able to demonstrate the automated scalability of the OpenShift PaaS and the power of the RedLine load testing tool to help determine sizing requirements. This is a powerful and simple combination for application developers since they can quickly emulate 0 – 50,000+ users hitting their application over a period of 10 minutes and scale their OpenShift environment easily with a few option selections and for less than $2.00.
For our application, we chose one of the Quickstart applications – Cakestart, which is a Bootstrap based framework to get going quickly. Our test was simple – we just pinged the home page we put up for our application – http://cakestrap-redline.rhcloud.com/. We also deployed a sample WordPress application with just a few clicks, although that was not scalable so we did not spend a lot of time testing other than to see it handled 50 requests in 10 seconds with sub-second response times.
OpenShift provides 3 free “Gears”, which are virtual servers with a certain amount of CPU and memory capacity. We were upgraded to 16 gears for our testing purposes (thanks Red Hat!).
Our test run below shows our app starting out running on a single gear – you can see over a couple of minutes of time the response time goes down. OpenShift automatically recognized that we needed more power and upgrade us to 3 gears to process the ~5 requests per second on this app.
Here is the OpenShift Console during the middle of that test showing how the gears were being increased:
OpenShift also has the capability to set a minimal number of gears. This way you can deploy your application so it can handle your expected load with a fast response time.
The test setup is simple, yet powerful. RedLine gives you the options of:
- emulating the any number of users
- number of iterations per user
- Random delays per user (between a min and max of miliseconds)
- Where the test servers are deployed on AWS
- Size of Servers
- Number of users per server
- Shows the Price per Spot Instance and allows you to set max price you are willing to pay
In our final test, we started with a higher number of gears (10) and tested at a higher transaction rate. We had 500 simulated users each hitting the website a total of 5 times. We spread the 500 users over an average of 20 seconds of delay between clicks. So there were 2,500 requests over 100 seconds – about 25 requests per second randomized. You can see the response time was excellent – under a second on average since we were already scaled to 10 gears.
Here is a video overview of how to use RedLine to load test your OpenShift applications: