性能测试和Jmeter

一. 性能测试(服务器)

①原理:基于协议模拟用户发出请求,对服务器形成一定负载,来测试服务器的性能指标是否满足要求性能指标

②定义:指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

③标准:

  • 多:支持同时访问的虚拟用户量越大越好
  • 快:请求的时候响应时间越短越好
  • 好:用户请求的整个过程运行越稳定越好
  • 省:节省资源,用最少的资源跑最大的并发数

④关注点:

  • 空间:服务器CPU/内存的使用率(一般CPU和内存使用率不超过75%~80%,CPU占用太高会导致处理速度变慢且发热,内存占用太高会导致卡顿且发热)
  • 时间:响应时间,2/5/8原则(发送请求,响应时间应该在2秒以内,超过2小于5秒可以反馈给开发进行优化,超过5小于8秒开发的有问题,大于8秒无法忍受,业务复杂的响应时间可以长一些)对于单用户的系统,响应时间(或者系统响应时间和应用延迟时间)可以很好地度量系统的性能
  • 并发量:越多越好
  • 错误率:越低越好(不超过0.05%)
  • 吞吐量:吞吐量是指系统在单位时间内处理请求的数量,单位tps,对于并发系统,通常需要用吞吐量作为性能指标。 
  • QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。(看来是类似于TPS,只是应用于特定场景的吞吐量)

⑤性能测试工具

  • LoadRunner(LR):对环境有要求,win7及以上需要创建一个虚拟机来运行loadrunner
  • Jmeter
  • Apache AB:用的比较少

二、Jmeter简介

1.为什么要用Jmeter?

  • 开源,免费,基于Java编写,可集成到其他系统,可拓展各个功能插件
  • 支持接口测试,压力(负载和压力)测试等多种功能,支持录制回放
  • 入门简单相较于自己编写框架和其他开源工具,有较为完善的UI界面,便于接口调试 
  • 多平台支持,可在Linux,Windows,Mac上运行,支持多协议

2.Jmeter的作用?

  • 接口测试   postman/jmeter
  • 性能测试   jmeter
  • 数据库测试

3.Jmeter环境变量的配置

方式一:

①下载Jmeter

下载地址:Apache JMeter - Download Apache JMeter

②安装并配置Java环境变量

③打开Jmeter安装目录→bin目录→双击jmeter.bat启动

方式二:

①下载Jmeter

②配置Jmeter环境变量(不用配置Java):右击此电脑→属性→高级系统设置→环境变量→在系统变量中新增JMETER_HOME→编辑环境系统中的Path→确定


③Windows+R打开cmd窗格→输入jmeter直接启动

4.Jmeter目录的介绍

①/bin目录(常用文件介绍) 

  • examples:目录下包含Jmeter使用实例 
  • ApacheJMeter.jar:JMeter源码包
  • jmeter.bat:windows下启动文件
  • jmeter.sh:Linux下启动文件
  • jmeter.log:Jmeter运行日志文件
  • jmeter.properties:Jmeter配置文件
  • jmeter-server.bat:windows下启动负载生成器服务文件
  • jmeter-server:Linux下启动负载生成器文件 

②/docs目录:Jmeter帮助文档

③/extras目录:提供了对Ant的支持文件,可也用于持续集成 

④/lib目录:存放Jmeter依赖的jar包,同时安装插件也放于此目录 

⑤/licenses目录:软件许可文件,不用管

⑥/printable_docs目录:Jmeter用户手册

Httprunner 和 JMeter 都是用于性能测试的工具,但它们有一些关键的区别: 1. **使用场景**: - Httprunner 更适合API自动化测试和RESTful服务的性能测试,它专为Python编写,提供了易于使用的命令行接口和脚本驱动功能,常用于持续集成(CI/CD)流程中。 - JMeter 则是一个功能强大的、开源的压力测试工具,支持多种协议和应用程序,不仅可以做HTTP测试,还能处理FTP、JDBC等,适用于更广泛的测试场景。 2. **学习曲线**: - Httprunner 的语法相对简洁,对于熟悉Python的人来说上手较快,特别是对API接口有清晰了解的用户。 - JMeter 功能强大且复杂,需要掌握其丰富的组件、脚本编写以及图形界面操作,学习成本较高。 3. **配置和维护**: - Httprunner 对于常见HTTP请求配置通常更为直观,但如果测试需求复杂,配置可能不如JMeter灵活。 - JMeter 可以通过图形化界面自定义复杂的测试计划,并且有大量的社区插件可以扩展功能,但管理大型测试脚本可能会较为繁琐。 4. **易用性和自动化**: - Httprunner 提供了内置的JSON数据驱动,易于构建回归测试套件,尤其适合无头浏览器和移动应用测试。 - JMeter 更多地依赖于用户手动设计测试计划,自动化程度取决于用户的脚本编写能力。 **相关问题--:** 1. Httprunner 支持哪些高级特性进行性能压测? 2. JMeter 是否可以直接从数据库生成负载测试用例? 3. 当项目对测试工具的易用性和灵活性要求较高,你会推荐选择哪一种工具?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭俞伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值