问答 jmeter 怎么做压测

学学看看 · 2022年09月13日 · 最后由 孤千羽 回复于 2022年10月13日 · 9075 次阅读

最近在学习使用 jmeter 做压力测试,


做压力测试的时候脚本设置如图,请问线程组里面的线程数、Ramd-Up 怎么设置啊,我设置 10 个线程 5s 启动的时候运行 5 分钟,tps 是 100 左右,但是我使用 100 个线程 5s 启动的时候运行 5 分钟,抛出的 tps 是 240 左右,为什么线程数增大了 10 倍,tps 只增加了 2 倍多。
这个同步定时器我应该怎么设置,设置多少合适?
在 Linux 负载机上,这个线程数、启动时间、运行时间,同步定时器这几个组件之间的关系应该怎么调试设置,才能测试到最大的并发呢,而且跟负载机本身自己能建立的连接有没有关系呢?、
还有就是怎么监控服务器的 io,cpu,内存这些指标呢,有分享文档吗?
希望大家在下面多留言,指导一二。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 10 条回复 时间 点赞

同问,老哥有理解了分享下,我这刚入行这样搞得太浅显了。

1,TPS=并发数/(平均响应时间 + 等待时间),无限增大线程并不会一直加 TPS,TPS 的极限到了,就会增大响应时间。
2,监测的话可以去看看 grafana+telegraf

同步定时器的设置
1.模拟用户组数量(Number of Simultaneous Users to Group by):集合到对应的用户量才发送请求,要求设置的值不能大于线程数。简单点理解就是,如果您想让多个人同时执行一个请求,在这个请求前面加上一个 Synchronizing Timer,它会等待您指定的人都到齐了一起出发。
2.超时时间(Timeout in milliseconds):一般超时时间> 请求集合数量 * 1000 / (线程数 / 启动时间)

线程数增大了 10 倍,tps 只增加了 2 倍多

这种肯定是具体原因具体分析了,应该看下服务器压力如何,数据库连接数是不是有限制,tomcat(假如) 链接数是不是有最大值等等
PS :社区应该有相关的入门文章,可以先搜一遍看看~

有写了几篇关于压测和 jmeter 线程组使用的,可以参考下

线程数、启动时间、运行时间,同步定时器 这些需要根据实际的业务场景来设置,
此外最大的并发,要看你的想看什么情况下的最大并发,出现报错?超时?亦或是超过多少秒?
监控服务器指标的话,各大云服务器平台都有自己的服务器性能看板,想自己搭建的话可以试试 grafana+Prometheus

“设置 10 个线程 5s 启动的时候运行 5 分钟,tps 是 100 左右,但是我使用 100 个线程 5s 启动的时候运行 5 分钟,抛出的 tps 是 240 左右,为什么线程数增大了 10 倍,tps 只增加了 2 倍多”,首先你要知道 TPS 的概念吧,服务器每秒钟处理的请求数,所以只要你 Ramd-Up 是 1 秒相当于瞬时并发,那你的服务器就是一直在处理你发送的请求,跟你设置的时间没有太大的关系。

同问,另外如何生成监控平台,锁实时监控

这些设置你百度下就有详细的解释,怎么做很简单,做性能应该重点放在性能模型建立、性能分析这块,包括硬件资源、网络、io、jvm 层面等的分析调优。

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