We always think about software design, functional tests, CI/CD but do we know how our application will behave if we see a sudden spike in traffic load. Or what if there is extreme traffic on our application during the holiday peak season, will we be able to prevent us from an outage? To save us from these unforeseen conditions of going down, only aggressive and proper performance tests can help.  The focus of performance testing is to measure a software application’s speed, stability, reliability, and scalability.

  • Speed.  Determine how fast the application responds.
  • Stability.  Determine if the application is stable under varying load condition.
  • Reliability.  Determine if the application can handle fault tolerance and recovery.
  • Scalability.  Determine the maximum number of concurrent users that the application can handle.
JMeter Load Testing with LoadView

From setup to test execution in just minutes.

Performance Testing: Putting Your Application to the Test

To make sure our application is performance reliant and reliable from sharp increase in traffic, we would need to set up a close to real time environment where our application is put under aggressive load of concurrent users. To carry this forward, we would need a performance tool which can help run the test scenarios with desired users and can help us find bottlenecks in infrastructure behind the application.

Once we’ve figured out our performance testing requirements, the next step is to find the right solution that can support our testing requirements.  There are many load testing solutions and tools, from free, open-source tools, to highly complex commercial options that require major resources to implement and run.  It’s always best to do your own research to find which one is best for you, however, finding a solution that is easy to use/spin up, can perform multiple types of load tests, has integrations/supports popular technologies, and provides all the necessary reports and metrics are all critical factors.

For this article, we’re going to look at the general, basic differences of Gatling and LoadView.

 

Performance Testing Tools:  Gatling

Gatling is an open-source performance testing tool. The Gatling framework is founded on Scala, Akka, and Netty. The tool allows developers to build and execute tests and easily manage their tests locally or in the cloud.  To write a test with Gatling, we need to use DSL (Domain Specific Language), it is more or less equal to what JMeter and Tsung offers. However, while JMeter and Tsung use XML with their specific tags to implement operations like loops, Gatling lets users define Scala classes that offer similar functionality, but they are a lot more readable.

 

Advantages of Gatling

  • Compatibility.  It works with almost all operating systems and any browser.
  • Open-source.  Since Gatling is open-source and utilizes Scala, which has human readable DSL, it allows developers to more easily to crate and execute load tests.
  • Code Tracking.  Versioning with Gatling allows teams to track and reuse code for better collaboration.
  • Multithreading.  The multithreading feature, which uses Netty and the Akka toolkit, ensures that a new thread isn’t designated for each user. Instead it uses a single thread to simulate a series of user paths.
  • Assertions API. Allows developers to execute many types of functional checks in tandem with the test.
  • Integration with CI/CD tools.  One of the standard features of Gatling is that it can be integrated into CI/CD tools, such as Jenkins.
  • Reports.  Gatling supports colorful and informative graphical reports containing valuable information for analysis.

 

Gatling Disadvantages

  • Limited Protocol Support.  It supports very few protocols like HTTP, WebSockets, server-sent events, and Java Message Service (JMS)
  • Integrations.  It doesn’t have its own host monitoring integrations, we tend to use third-party applications to track.
  • Hardware Requirements.  Using the free version, we need to have a server which can really generate load that is intended out of tests.

 

Performance Testing Tools:  LoadView

LoadView is a cloud-based performance testing solution that allows developers and engineers to run load tests against their websites, web applications, web servers, web services, etc. Using the EveryStep Web Recorder, users can quickly script scenarios through our sites and applications.  We can then run tests from multiple geographic locations with no additional hardware or resources needed.  LoadView performance tests run on a cloud managed by LoadView, we just need to trigger or start the test by creating test scenarios on the LoadView website. Whenever we run a test, geo-distributed AWS servers are spun up to generate the required concurrent users for the load test. We can also integrate our LoadView performance test scenario with our CI/CD tools like Jenkins.

 

Advantages of LoadView

  • Ease of Use.  Creating a test scenario on LoadView needs few details to be mentioned over the browser, all the internal complications of running a test script, creating servers, and hosting tests are taken over by LoadView.
  • EveryStep Web Recorder. The web-based recorder provides functionality record user scenarios within web applications and websites.  The recorder supports a plethora of desktop and mobile browsers and devices and supports technologies that are used to create dynamic applications.
  • Virtual Load Injectors. It utilizes Amazon Web Services servers located in over 15 zones throughout the world.
  • Distribute User Load. The platform allows users to distribute load depending on the where majority of visitors come from.
  • Reporting. It provides an extensive detailed overview of execution plans, transaction per minute, average response time and error discovery. It allows us to review the test history and details anytime.
  • CI/CD Integration. Supports integration with Jenkins.
  • Easy Proxy Setup. Test internal applications that are behind the firewall.
  • 24/7 Support.  Support teams are available 24/7 for your questions or issues.

 

Disadvantages of LoadView

  • Not Open-source.  As LoadView is a commercial tool, there are fees required to run tests over the cloud. Additionally, any amendments to the tools would have to be made through the proper support channels.

 

Comparison:  Gatling and LoadView

Let’s look at few of the main differences among Gatling and LoadView.

 

Prospects Gatling LoadView
Load test Application support Gatling supports HTTP, WebSockets, and JMS. LoadView supports complex applications, such as Flash, HTML5, Java, PHP, JavaScript, Ruby, Silverlight, and more.
Scripting User Actions Basic understanding of Scala and DSL language required. A user-friendly recorder that helps to record scenarios for your specific requirements.
Test runs Run tests from your machine or a group of dedicated servers Fully-managed cloud servers
Geo-distributed Load Test Setup of load injector servers on dedicated location to test is required Easily distribute traffic from  the regions your users are located.
Documentation and Support Gatling provides a quick start and user guide. LoadView has a complete Knowledge Base of support articles and documentation, as well as 24/7 on-call support.
Pricing Free to use as it is open-source LoadView has multiple pricing options to meet your needs.
Integration with CI/CD tools Supports Jenkins plugins Supports Jenkins plugins
Post-production monitoring We need to integrate third-party applications, Gatling doesn’t provide real time monitoring. Dotcom-Monitor provides post-production monitoring solutions for websites and applications, and helps to check health status.

 

Wrapping Up:  Performance Testing Tools Gatling vs LoadView

This was an overview of performance testing tools LoadView and Gatling. Of course, as we are progressing on our journey to achieve a better fit to simulating real-life scenarios, no doubt we will come across many challenges and new insights. Gatling and LoadView both serve its purpose based on the requirements and test scenarios.  We took a brief look at each tool, the pros and cons, covered the integrations with Jenkins, and what sets each tool apart from the other.  A lot of organizations and developers utilize open-source load testing tool like Gatling, but the benefits that LoadView provides are immensely more powerful and better suited for meeting the needs of developers and performance engineers.

Try LoadView for yourself. You’ll receive free load tests to get started. Or sign up for a free live demo with one of our performance engineers. They’ll walk you through the setup process and load test execution.