性能常识 关于 Jmeter 压力测试的使用

昨天有雨 · 2018年12月10日 · 最后由 昨天有雨 回复于 2018年12月11日 · 1966 次阅读

最近想使用 jmeter 做一下压力测试,但是发现好像配置的不太对所以到社区寻求下帮助.
项目在使用的时候 1 秒内 300 左右的并发服务器就挂掉了,但是我用 jmeter 只对登录接口做压力测试,同时跑 500 个线程然后一直循环,服务只是有点慢并没有挂掉,这是为什么?
设置了集合点 集合 500 个线程,超时时间设置为 5 毫秒
还有一个问题,我在服务器那台电脑上用 jdk 自带的 java VisualVm 查看 jmeter 运行的时候服务的监视,实时线程一直是 200 多,没有有达到 500,cpu 和 堆内存占用也都没有超过 50%
这是因为 jmeter 设置的不对还是其他的原因呢?

最佳回复

不知你的压测机配置如何呢,jmeter jvm 参数是怎么配置的呢,运行时是用的 GUI 还是 no gui 模式呢?我的经验 300tps 的服务,应该不太需要 500 的并发,当然这也不绝对,还是需要根据实际的处理性能来定,建议调小线程数来试试看

共收到 8 条回复 时间 点赞
昨天有雨 关闭了讨论 12月11日 09:09
jackyin 回复

300 的并发是线上真实环境,第一次用 jmeter 做压力测试,你们说的 tps 确实没有考虑到,还要多学习.另外找到了测不出来的问题,是因为线上挂掉的时候不是这个登录接口,而是其他的接口,那个接口对数据库的读写操作比较多,怪我一开始没和别人对接好工作,以后多多注意吧

仅楼主可见

能问下你跑的 300 左右的场景是什么?另外就是你有没有用 jmeter 查看过登录的 tps 和响应时间,你用 500 个线程去跑,如果你的 tps 并不足以支撑你的这个并发的话,你跑再多的线程组都没有用吧,他实际的并发数应该是小于这个线程组数的。

ThreeClick 回复

方便加下您的联系方式吗?

不知你的压测机配置如何呢,jmeter jvm 参数是怎么配置的呢,运行时是用的 GUI 还是 no gui 模式呢?我的经验 300tps 的服务,应该不太需要 500 的并发,当然这也不绝对,还是需要根据实际的处理性能来定,建议调小线程数来试试看

ThreeClick 回复

那 jdk 监控平台的线程数又怎么解释呢?明明用 jmeter 用了 500 个线程去跑,可是服务最多只有 200 多个实时线程

300 个请求每秒服务器挂,500 个线程服务不挂,这两个数字本来就不能等同分析,300 个请求是实实在在建立起的连接数,500 个线程并不一定能产生大于 300 的 tps,多大 tps 跟压测服务的处理性能和被测服务的性能都有关系,你先看 tps 有多少吧

补充下项目是部署在 win 上的,单机版 tomcat,测试和线上都是这样

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