JMeter 是用Java写的开源软件,可以做接口、自动化和性能测试;性能测试的脚本可以用于自动化测试,也可以用于功能测试;自动化或功能测试的脚本不能直接用于性能测试。
线程组用于性能场景设计;多线程组为混合场景,可同时运行;涉及到跨线程组局部变量的引用
线程数越大,服务器压力越大
用户定义的变量可以跨线程组传参,用户参数不行。
返回格式是json的,可在后置处理器里添加json提取器。不可跨线程组传参。
注意下图提取式节点可使用两个点 ..
配置元件-CSV数据文件设置
压测不是压力测试,一般是先做负载测试找到服务器的瓶颈(再大可能会造成宕机),在测试达到服务器瓶颈时各个指标的值为性能测试,压力测试是查看服务器的稳定性,压力一般在服务器瓶颈的40%以下开始,根据要求或情况以小时或者天为单位较长时间运行。
一般企业每个接口的并发用户为50.
性能测试必备条件:
压测会对服务器造成不稳定的因素和占用大量带宽,因此需要独立服务器和独立网络。
使用独立网络,尽可能的缩小T1和T4的网络传输时间,这样响应时间就约等于服务器处理时间。
可以事务/s 或者 Kb/s ,理想情况下为 事务/s
在不受网络传输限制的时候,即网络无瓶颈,可以认为吞吐量约等于TPS
负载测试 线程组 阶梯式场景 ,需装第三方插件 jmeter plugins manager1.4.jar
波浪式场景 线程组,不适合用聚合报告,启动时间会拉低平均值
监控服务器
分布式 用户数较大时,分摊压力;这样总并发数就是所有机器的并发数之和
前提条件 其中jmeter可以打包发送
持续集成
无界面运行 节省资源