Tomcat极限性能测试(二)

基础环境

Linux操作系统,128G内存,40核心数CPU


测试代码
@RequestMapping(value = "/test/tomcat", method = RequestMethod.GET)
    @ResponseBody
    public void testTomcat() {
        int j = 0;
        for (int i = 0; i < 2000; i++) {
            j = j + i;
        }
    }


tomcat配置

tomcat默认配置


测试
测试1:
开启线程数开启连接数测试数量[W]QPS[S]CPU使用率[%]
11103800100

CPU使用率:
在这里插入图片描述
JVM线程情况:
在这里插入图片描述
从JVM线程情况中,我们可以发现,Tomcat默认启动10个线程。由于客户端只开启了一个线程,途中绿色部分标识线程的运行状态。我们从中可以发现,绿色部分在10个线程中是交替出现的。


测试2:
开启线程数开启连接数测试数量[W]QPS[S]CPU使用率[%]
22806662210

CPU使用率:
在这里插入图片描述

JVM线程情况:
在这里插入图片描述
从JVM的线程状态中,我们发现同一时刻有2个线程处于运行状态。因为我们开启了两个客户端连接请求


测试3:
开启线程数开启连接数测试数量[W]QPS[S]CPU使用率[%]
4416022862394

CPU使用率:
在这里插入图片描述

JVM线程情况:
在这里插入图片描述

从JVM的线程状态中,我们发现同一时刻有4个线程处于运行状态


测试4:
开启线程数开启连接数测试数量[W]QPS[S]CPU使用率[%]
8832042122744

CPU使用率:
在这里插入图片描述

JVM线程情况:
在这里插入图片描述

从JVM的线程状态中,我们发现同一时刻有8个线程处于运行状态


测试5:
开启线程数开启连接数测试数量[W]QPS[S]CPU使用率[%]
1616640696841445

CPU使用率:
在这里插入图片描述

JVM线程情况:
在这里插入图片描述

从JVM的线程状态中,我们发现同一时刻有16个线程处于运行状态


测试6:
开启线程数开启连接数测试数量[W]QPS[S]CPU使用率[%]
32321280881591714

CPU使用率:
在这里插入图片描述

JVM线程情况:
在这里插入图片描述
当线程数开到了32个的时候,我们发现JVM中有大量线程处于空闲时间,CPU没有用满。
经过研究发现,Tomcat内部使用的阻塞队列的性能瓶颈所致
在这里插入图片描述

总结

tomcat的性能随着线程数的增加而增加,当QPS达到10w左右的时候,其内部的处理队列性能存在瓶颈,在压测,QPS已经上不去了。所以我们在开发的时候,基本上不用担心Tomcat的性能问题。在硬件资源充足的情况下,tomcat基本上满足服务。如果一个不够,就在来一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值