使用JMeter进行HTTP负载测试

时间:2021-06-20 23:16:08

在本文中,我将介绍一些如何用 JMeter 来进行 HTTP 负载测试的基础知识。JMeter 是一个java应用程序,用于模拟产生一个 高负载到一个服务器上,以测试这个服务器的承载强度,或用于分析在不同的负载下的服务器的性能。完整的 JMeter 情况,请到其官方网站上了解: 这里

你要明白的一件事是,这个工具并不是一个浏览器。这意味着 JMeter 并不会执行提供给浏览器执行的所有功能,它也无法运行 JavaScript 或 Flash。它只是一个能运行在 windows 上或其它操作系统上的一个桌面应用程序。因此,请首先到这里 把它下载下来。如果你使用的是 windows 操作系统,解压后你就可以运行“bin/jmeter.bat”命令来启动它。你将看到下面的显示:

使用JMeter进行HTTP负载测试

在本文中,我将介绍如果在 JMeter 中设置一个最基本的负载测试计划。一般来说,你想通过负载测试来获得以下两个问题的答案:

- 你的应用程序能够承载多大的用户量?

- 在什么样的负载下,你的应用会崩溃?

因此,一开始,首先你要添加一个线程组(用户数):

使用JMeter进行HTTP负载测试

然后,开始设置这个线程组:

- 用户数

- 过渡期 (用户组发出请求的间隔时间)

- 循环次数 (这个线程的运行次数)

其次,你需要增加一个例程(HTTP 请求)到这个组中:

使用JMeter进行HTTP负载测试

一旦你增加了一个 HTTP 请求例程后,你将看到大量的选项。你需要注意的是:

- 服务器名(Server Name) 或 IP

- 路径(Path)

定义完这个后,测试就准备好了,但我们通常需要一些测试报告。在 JMeter 中,我们称这种组件为监听器。因此,在这个测试计划中,加上一个监听器:

使用JMeter进行HTTP负载测试

你的全部的请求响应结果都将会显示在这里。按:Ctrl + R 开始运行这个测试。如果打开结果视图窗口(View Results Tree),你可以看到实时的运行状态。运行完后,你可以再按: Ctrl + E 来清除旧的结果,并重新按  Ctrl + R 来重新启动一次新的测试。最后,你可以看到类似以下的结果:

使用JMeter进行HTTP负载测试

正如我在一开始说的那样,这是一个最基本的 HTTP 负载测试计划。但 JMeter 提供的功能却远非如此简单,它能够通过建立大量的、你需要学习的各种选项来完成各种测试案例。我强烈推荐大家使用这个工具来进行各类测试。当然,这个工具用自定义插件来扩展也很简单。

AtlantBH 开发了一套 JMeter 的扩展插件,包括:

- OAuth Sampler 
- REST Sampler 
- JMS Tools (Java Request Sampler) 
- JSON 到 XML 转换器 
- XML Format Post-processor 
- HDFS Operations Sampler 
- HBase Scan Sampler 
- HBase RowKey Sampler 
- Hadoop Job Tracker Sampler 
- HBase CRUD Sampler 
- JSON utils (JSON Path Assertion, JSON Path Extractor, JSON Formatter)

英文原文:HTTP Load testing with JMeter

译文链接:http://www.oschina.net/translate/http-load-testing-with-jmeter