您的位置:首页 > 理论基础 > 计算机网络

使用 JMeter 进行 HTTP 负载测试

2013-01-18 09:39 176 查看
转自:http://www.oschina.net/translate/http-load-testing-with-jmeter

以前我写过一篇文章:
high availability load balancing with HAProxy and CARP on FreeBSD ,其中我使用了 JMeter 作为测试工具。在本文中,我将介绍一些如何用 JMeter 来进行 HTTP 负载测试的基础知识。JMeter 是一个java应用程序,用于模拟产生一个
高负载到一个服务器上,以测试这个服务器的承载强度,或用于分析在不同的负载下的服务器的性能。完整的 JMeter 情况,请到其官方网站上了解:
这里

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



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

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

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

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



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

- 用户数

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

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

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



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

- 服务器名(Server Name) 或 IP

- 路径(Path)

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



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



正如我在一开始说的那样,这是一个最基本的 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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: