一、Jmeter解析
1.1 jmter工具
Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。
JMeter 最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。
1.2 jmter 作用
.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
JMeter的高可扩展性
1.可链接的取样器允许无限制的测试能力。
2.各种负载统计表和可链接的计时器可供选择。
3.数据分析和可视化插件提供了很好的可扩展性以及个性化。
4.具有提供动态输入到测试的功能(包括Javascript)。
5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。
1.3测试仪支持jmeter开源用途
在真实的业务测试中,会有怀疑网络链路故障时,测试仪有jmeter开源工具,保持跟测试仪在相同的链路下进行测试,如果测试结果与测试仪接近,则网络链路不存在问题
二、Jmeter在supernova测试仪中可应用的场景
2.1应用服务模式
测试仪只模拟客户端,向受测的HTTP服务器发送流量,获取响应,得到HTTP服务器的性能。
三、Jmeter用例功能介绍
3.1. Jmeter线程数
Jmeter测试时,使用的线程数,会使用命令行-J参数对jmx配置中的num_threads进行覆盖,类型于并发
3.2Jmeter日志级别
分为ERROR WARN INFO DEBUG TRACE,等级越高,输出日志内容越详细,性能越低,会在监控页面中显示出来
3.3 Same user on next iteration
Jmeter参数,启用时,为多请求的模型,禁用时为单请求的模型
3.4 View Results Tree
结果树,用于查看结果报告
3.5 循环次数
发送http请求的总次数,-1表示不受限制
3.6 Aggregate Report
聚合报告,对于图标的可视化,查看http运行各项参数结果。
四、Jmeter测试用例
4.1Jmeter用例拓扑图
4.2 Jmeter用例目的
本次案例测试jmeter测试真实服务器的性能
4.3 FTP测试预计结果
4.3.1过真实服务器,在256并发下测试http新建的值,并与测试仪的http新建用例对比无明显差距
4.3.2过真实服务器,在256并发下测试http请求的值,并与测试仪的http请求用例对比无明显差距
五、测试步骤
5.1创建jmeter用例,配置参数。
(1)在开源WIFI测试中选择Jmeter用例,由于是直接到真实服务器中,选择在同一子网内即可
(2)抓包设置,查看抓包内容是否有误
(3)参数设置
5.2配置Jmeter对象
1、在jmeter上配置一个简单的脚本
2、把脚本导入到测试仪的对象中
3、配置对象
4、点击启动用例
5、在监控中查看运行界面
6、生成报告
用例手动终止或者到时后,可在报告页面生成报告。
六、对预期结果进行验证
6.1 过真实服务器,在256并发下测试http新建的值,并与测试仪的http新建用例对比无明显差距
Jmeter用例最后tps为21019.8,无错误
http新建最后的tps为24391.8无错误
结论:符合4.3.1的预期结果
6.2 过真实服务器,在256并发下测试http请求的值,并与测试仪的http请求用例对比无明显差距![在这里插入图片描述](https://img-blog.csdnimg.cn/decf8d5a5646475c8093a664d28d32f5.png)
Jmeter用例最后tps为41915.5,10错误
http请求最后的tps为46425.0,无错误
结论:符合4.3.2的预期结果