性能测试工具 JMeter 5.1 性能测试入门到实践 (三) - 常用组件设置

cc · 2019年06月20日 · 最后由 cc 回复于 2019年06月20日 · 3062 次阅读

引入外部包
TestPlan 的设置中引入需要的 jar 包
例如:需要连接数据库时要先在这里导入 jdbc 连接对应版本数据库的 jar 包

并发量设置
右键添加线程组


当需要做压力测试,使服务器在一段时间内持续接受压力时,可以设置 Duration。

管理 Cookie
右键添加配置组件 HTTP Cookie Manager

对于每一个线程来说,他可以自动管理 cookies,像浏览器一样的存储和发送 Cookie. 如果一个 http 请求的响应中包含 Cookie,那么 Cookie Manager 就会自动地保存这些 Cookie 并在所有后来发送到该站点的请求中使用这些 Cookie 的值。
在 Cookie Manager 中看不到自动保存的 cookie,可以在 View Results Tree 的 Request 界面看到被发送的 Cookie Data。
同样也可以在组件中手动添加 cookie 值

如果在一个测试计划内有多个 Cookie Manager, Jmeter 目前无法指定哪个被使用。所以,一个测试计划内最好只有一个 Cookie Manager
管理 Header
右键添加配置组件 HTTP Header Manager

手动在 Manager 中添加 Header 值

HTTP(s) Request 在缺少 header 值,或 header 值不正确时,request 会返回非 200 的 respond code, 或者在 respond 中报错。建议比较通用的 Header 值放在 Test Plan 中给所有线程组共享。和 request 相关性强的 header,或者只有某个 request 用到的 header,可以作为 Sampler 的子节点。
添加 Sampler
右键添加 Sampler 组件


1.请求的类型,一般常用的是 GET 和 POST
2.请求访问的地址,如:/xxx/xxx
3.如果是 POST 请求,一般会带参数,在这里添加参数的名字和对应的值,如果参数中有中文或者特殊字符的话,需要勾选 URL Encode

4.请求连接服务器时,等待的 timeout 时间,超过这个时间没有得到服务器的处理,JMeter 就放弃等待,认为请求超时失败
5.等待请求响应的 timeout 时间,超过这个时间没有收到服务器返回的 response,JMeter 就放弃等待,认为请求超时失败
如果有多个请求包含相同的设置,可以把这些设置放到默认配置组件中统一管理,降低重复劳动

每个 Request 在执行的时候会先到自身的设置中找值,遇到没有设置的情况再到默认的配置组件中找。

共收到 3 条回复 时间 点赞

在多少时间内达到并发量,有待商榷

cc #3 · 2019年06月20日 Author
ilovetest 回复

实际测试下来,确实不是很准,我一般会多设置几次循环,或者设置压测 duration,这样保证一段时间内服务器在设置的并发压力下,从而排除掉开始和最后线程数量增长和减少的这段时间影响,也能减少一部分因为网络原因导致实际请求无法按照设置并发到达服务器的影响。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册