Over a million developers have joined DZone.

How to Find and Solve Your Application Bottlenecks

· DevOps Zone

The DevOps zone is brought to you in partnership with Sonatype Nexus. The Nexus suite helps scale your DevOps delivery with continuous component intelligence integrated into development tools, including Eclipse, IntelliJ, Jenkins, Bamboo, SonarQube and more. Schedule a demo today

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. Blazemeter Logo

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.

The DevOps zone is brought to you in partnership with Sonatype Nexus. Use the Nexus Suite to automate your software supply chain and ensure you're using the highest quality open source components at every step of the development lifecycle. Get Nexus today

Topics:

Published at DZone with permission of Trevor Parsons, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}