用途:
接口测试 性能测试 压力测试 自动化测试
主要元件:
1. 配置原件
1.1 参数化 csv Data Set Config : 可以将一个变量使用不同的数据
在本机home目录创建文件id.csv,将文件目录设置在csv中,如图:
id.csv文件内容如下:
接口调用对应变量:
设置线程组,执行两次(只设置了两个id)
2. 前置处理器
3. 定时器
4. 断言
5. 取样器
6. 后置处理器
7. 监听器
8.逻辑控制器
知识点:
1. 单台压测机器,启动线程不超过1000个,推荐500个左右,这样客户端性能比较好;如果要压测超过1000个线程,建议分成2台Mac机器进行压测,超过2000个,分成3台Mac机器压测,以此类推。否在可能会出现OOM问题
2. 断言的方式有两种: response assertion和json Assertion, 相比正则表达式进行断言,不会对系统的cpu有消耗
3. 集合点synchronizing point: 使用集合点的算法脚本TPS会高,这属于设置问题
4. 页面性能压测:前端展示数据比较慢的原因: 后端接口响应慢; 如果接口响应速度快还慢的话跟客户端的机器CPU/内存/浏览器等配置相关; 解决办法: 页面展示时通过分页加载,延迟加载,缓存等
影响性能考虑点包括:数据库、应用程序、中间件(tomact、Nginx)、网络和操作系统等方面。
5.并发线程数和并发用户数:对于loadrunner和jmeter之类常规性能测试工具来说,答案是肯定的;大家可以设置线程数100,循环1次,最后,总的请求数一定是:100。但是对于gatling比较特殊,用的是协程,比线程更小的单位,所以,并发线程数和并发用户数不能直接画等号