Web性能测试方案 下载本文

文档仅供参考

4.1环境与数据准备 4.1.1负载测试

主机 数量 配置详情 操作系统 数据库 中间件 测试工具 监控工具 4.1.2压力测试

主机 数量 配置详情 操作系统 数据库 中间件 测试工具 监控工具

4.1.3前端连接测试 略

4.2测试步骤与测试结果输出 4.2.1负载测试 4.2.1.1测试工具 Jmeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其它测试领域。 它能够用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI 脚本、Java 对象、

9

2020年4月19日

文档仅供参考

数据库、FTP 服务器等等。

4.2.1.2测试步骤

1.建立测试计划

启动jmeter后,jmeter会自动生成一个空的测试计划,用户能够基于该测试计划建立自己的测试计划。 2.添加线程组

一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选择线程组即可。

jmeter中 每个测试计划至少需要包含一个线程组,当然也能够在一个计划中创立多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的,也就是说这些线程组是同时被初始化并同时执行线程组下的Sampler的。

10

2020年4月19日

文档仅供参考

线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。

线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为

11

2020年4月19日

文档仅供参考

20*100= 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

设置合理的线程数对于能否达到测试目标有决定性的影响。在本例中,要求得到网站首页在20 QPS 负载情况下的响应时间,如果如果线程数量设置的过小,则很可能无法达到设定的QPS要求。另外,设置合理的循环次数也很重要,除了上面介绍的固定循环次数与永远外;也能够灵活的选择设定测试运行时间。勾选“调度器”,进行调度器配置。

3. 添加HTTP请求

添加完成线程组后,在线程组上右键菜单(添加--->Sampler--->HTTP请求)选择HTTP请求。对于jmeter来说,取样器(Sampler)是与服务器进行交互的单元。一个取样器一般进行三部分的工作:

向服务器发送请求 记录服务器的响应数据 记录相应时间信息

12

2020年4月19日