怎么能判断tomcat线程池配置的太小了?

在高并发场景下,有可能带来性能下降,请求时长增加
但是怎么能判断出来,瓶颈仅仅是服务节点 tomcat的线程池太小
而不是数据库读写瓶颈、数据库集群数量少、网络带宽等问题?

阅读 880
1 个回答

个人猜测:
根据公式:

线程数   =   CPU数量  *  CPU利用率  *  (1 + IO操作时间/CPU操作时间)
            (固定的)              (压测同一业务,比例也可认为是固定的)

所以为了保证等式成立,如果tomcat线程数是偏小的,则会导致等式右侧 "CPU利用率" 会随之减小

现象:
使用top命令,可以看到即使是在压测时,每个cpu的使用率也都是偏低的。

解决办法:
判断高并发时,cpu利用率达到多高才算合理(比如90%),从而调整合理的线程池大小。
然后再进行重新压测,进行微调

宣传栏