This article was written by Refael Botbol, who is the head of DevOps at BlazeMeter, which does performance testing and monitoring for mobile and web apps.
Here’s a familiar scene: You’ve finished developing your application or a neat new feature and you’ve created the right system logs for new capabilities. You’re confident that if something breaks, you can easily spot the errors and overcome them efficiently.
However, you’re still leaving the inevitable discovery of errors on production to quite literally the last minute. For example: if Black Friday is around the corner and you’re anticipating an influx of user activity, you don’t want to take any chances that you’ll be one of the many stories of online services that crashed on that day.
Fortunately, you can use Logentries with performance testing tools to take a proactive approach to finding, analyzing and ultimately fixing your application’s bottlenecks in advance, as well as securing your system to generate optimized logs in production. In this post, I’ll going to show you how to achieve these goals by using Logentries with BlazeMeter’s performance testing solution.
How to Prepare for an Upcoming Event:
First, estimate the amount of users that are likely to come on the day of the event. Then, use BlazeMeter to run a load test that includes the expected usage patterns and workflows of your application. With BlazeMeter, you can simulate anywhere from fifty users to over one million concurrent users, to verify that your application doesn’t contain any bottlenecks. If impediments are revealed, use Logentries to aggregate the system log, find the bottlenecks, and free them to eliminate the risk of having them uploaded to production.
While running these tests, you can examine and optimize the log, so if something does go awry, the correct log will be recorded to support a quick analysis and fix. It is important to regularly monitor your production environment, and continuously perform log aggregation and analysis. This webcast covers this topic in more detail.
Load Testing Within Your Application Development Lifecycle
With your application lifecycle management in place, you can begin utilizing continuous integration (CI) tools to update your application on a daily basis. Your developers pull the latest version from Git (or any other version control system) and every new commit is integrated. In addition, several common scenarios will be unit tested to verify that the new code doesn’t break.
Note – there is an additional step, which must be part of your application development lifecycle to be truly confident in your online service’s performance – running load tests.
Load Testing the Scaled-Down Staging Environment
Even in a small scale staging environment, it’s possible to understand when certain bottlenecks will occur. This is especially true if you maintain a weekly (or even a daily) load test routine. In a scaled-down environment of the application, you’ll be able to load test common scenarios or workflows. For example, BlazeMeter and Selenium are used to help verify that your mobile application is fully functional. Another example is when you’re expecting a response time of one second and then suddenly see it rise to five seconds. Then it’s clear that you have a problem on your hands!
If you integrate BlazeMeter and Logentries, you’ll be able to test and analyze data in your staging environment. You can ensure that you’ve created and tweaked your application so that it is scalable, fully functional, and ready to go to production.
Want to make sure you won’t experience application bottlenecks or any other issues on Black Friday? Register now for our live webinar, which will cover key ways to ensure your website won’t fail on the big day.