How would you choose these 5 practical performance testing tools?

When we do performance testing, the test protocol needs to use performance testing tools. There are many tools on the market that can do performance testing. Some are paid, and some are open source and free. Is it friendly to support all agreements when choosing? Now let's take a look at some popular performance testing tools commonly used in the industry.
Insert picture description here
ApacheBench is a lightweight tool. Mainly used for performance testing of HTTP protocol. Very simple and fast. Scenario-based testing is not supported.

Ab is a small, simple and easy-to-use tool, but without a graphical interface, it also provides basic performance parameters that cannot be monitored, and is generally used to temporarily test the efficiency of an interface.

ab -n 1 -c 1 https://testerhome.com/

-n: total number of requests
-c: concurrent times (concurrent requests cannot be greater than the total number of requests)
Insert picture description here
Insert picture description here
JMeter is a fully open source performance testing tool provided by the Apache Open Source Foundation, designed to load test functional behavior and measure performance. It was originally designed for testing web applications, but has since been extended to other testing functions.

Apache JMeter can also be used to test the performance of static and dynamic resources, Web dynamic applications. Used to simulate heavy loads on servers, server groups, networks or objects to test their strength or analyze the overall performance under different load types. It supports distributed operation. JMeter is developed in Java language, and Java runtime environment needs to be installed before use. Some private protocols can be developed secondary plug-ins to support the corresponding protocol.
Insert picture description here
Insert picture description here
LoadRunner is a performance testing tool. It was originally a product of Mercury. Mercury was acquired by HP in 2006.

LoadRunner is a load testing tool that predicts system behavior and performance. By simulating tens of millions of users to implement concurrent loads and real-time performance monitoring to identify and find problems, LoadRunner can test the entire enterprise architecture. By using LoadRunner, enterprises can minimize test time, optimize performance, and accelerate the release of application systems. Because it is closed-source software, and the licensing cost is high. The use is also more complicated, and the tool is relatively large.

LR emphasizes testing the entire enterprise application architecture, which helps customers identify and find problems faster by simulating the actual user's operating behavior and implementing real-time performance monitoring. LR can support a wide range of protocols, and can provide special solutions for customers' special environments.
Insert picture description here
Locust is an easy-to-use distributed user load testing tool. It is designed to load test websites and determine how many concurrent users the system can handle. Very easy to use. It is very convenient to implement script expansion and business request based on Python. It is completely event-driven, so it is not limited by processes and threads, and can support higher concurrent requests. Can concurrently initiate concurrent requests.
Insert picture description here
Insert picture description here
nGrinder is an application for running test scripts written in jython (python running on the JVM) on multiple machines. Its internal engine is based on Grinder. nGrinder wraps Grinder's controller and agent with controller and agent, respectively, and expands the feature of supporting multiple concurrent tests.

nGrinder is a stress testing platform that allows you to simultaneously execute script creation, test execution, monitoring and result report generator. Provides a simple method for stress testing.
Insert picture description here
Insert picture description here
Seeing so many tools, how do I choose when doing a performance test task?

1. Choose according to the pressure test scenario

Choose according to what the stress test scene is. If it is a one-time single interface scenario, AB can be used. If it is a complex thing and multiple interfaces require business scenarios, then I will choose tools such as JMeter to construct rich scenarios to meet the needs.

2. How much pressure do I need to provide

How much pressure should I provide? Is it 1000 QPS or more than 10,000? If the pressure is great, it is necessary to consider whether the stress test tool supports distributed and whether the agent can be rapidly expanded. For JMeter, it is very well supported.

3. Periodic demand

Business may go online frequently, and services may change at any time. There may be a periodic demand, patrolled monthly. Need a scene file, I can do data-driven, follow-up data changes in real time. Finally, I hope the results will fall.

4. Need for secondary development

JMeter's open source plug-in thinking supports Thrift, Dubbo and other protocols. Can be quickly platformized.

Finally, there is community problem support: JMeter is open to the community and widely used. Get answers quickly when you have questions.
Insert picture description here
Based on our needs, we chose to use JMeter as a pressure measurement tool.

Then another point of view is: we don't care what language the tool is written in, and what the market is. We use tools to achieve pressure on the system. If the tool can achieve stress, it will achieve what our performance testing tool wants. And in the performance test tool, we only need to pay attention to two curves: one is TPS and one is response time.

The ability to understand the performance curve is our performance test engineer's ability. Rather than what testing tools we use, how skilled are the tools. Because proficiency is just the beginning. No matter what performance testing tool you use, we will see some data. What do we need to know about these data? What kind of analysis will follow. So this is what performance testing tools can provide us. It is also the meaning of performance testing tools.

(The article is from Hogwarts School of Testing)

Published 10 original articles · Likes0 · Visits10

Guess you like

Origin blog.csdn.net/weixin_46635091/article/details/105535260