21st century is the century of the cloud, large-scale cloud networks have emerged, and in the next few years will be high-speed development, so that cloud-based systems will be more and more. If you want to develop a high-performance cloud system, server performance testing is an essential link. Today, we will introduce a new generation of server performance testing tool Gatling.
One, what is Gatling
Gatling is a High-performance server performance testing tool based on Scala, which is used to test servers for load and to analyze and measure performance metrics for servers. Gatling is primarily used to measure HTTP based servers, such as Web applications, restful services, and so on, in addition to the following features:
Supports Akka actors and Async IO to achieve high performance
Supports real-time generation of HTML dynamic lightweight reports, making reports easier to read and data analysis
Support for DSL scripts to make test scripts easier to develop and maintain
Enables recording and generating test scripts to facilitate the generation of test scripts
Support for importing Har (Http Archive) and generating test scripts
Support Maven,eclipse,intellij and so on for development
Support for Jenkins for continuous integration
Supports plug-ins that can extend their functionality, such as extending support for other protocols
Open Source Free
Gatling the applicable scenarios include: test requirements change frequently, test scripts need to be maintained frequently, test environments are not strong, but they want to perform the ultimate hardware performance, good versioning of test scripts, continuous performance testing through CI, and the desire to be lightweight and easy to read.
Second, Gatling and JMeter
JMeter is one of the most widely used server performance testing tools, and its biggest feature is a simple and Easy-to-use GUI, but its biggest drawback is that it has some drawbacks due to ease of use, such as test script (XML) is not easy to maintain. Gatling is doing a lot of improvement for the disadvantage of JMeter, so compared to jmeter,gatling has the following advantages:
In terms of concurrency performance, Gatling uses Akka actors and async IO, while JMeter uses a single thread for the user, and once the concurrent threads are too high, performance drops rapidly, making it difficult to fully exploit the hardware. Although both tools are based on JVMs, the performance of the actors model is significantly better than threads in high concurrency, allowing Gatling to provide the same testing capability and lower test costs with less memory and CPU. Figure 1 and Figure 2 show the performance of the two in terms of concurrency performance respectively.
Figure 1,jmeter 2.8
Figure 2,gatling 1.3.2