Tomcat线程数调优

注:内容来源于我本人的微信公众号:码农历险技 有些spring boot项目平时的流量涌入比较大的,或者是当有活动的时候在活动那几天涌入的流量也是很大的,这时候如果不对我们项目的

内容来源于我本人的微信公众号:码农历险技

有些spring boot项目平时的流量涌入比较大的,或者是当有活动的时候在活动那几天涌入的流量也是很大的,这时候如果不对我们项目的线程数进行相应的调就会导致我们项目的TPS、QPS上不去,这时候就要把Tomcat的线程数进行相应的调优。

一.服务端如何查看有多少个线程数量

  1. 首先我们输入ps -ef | grep JAVA命令查看所有的java进程。
  2. 从第1步骤找到你想要的进程号,输入命令:pstree -p 进程号,这个命令可以列出该进程的所有线程出来。
  3. 除了2个步骤也可以直接统计出线程的数量,输入命令:pstree -p 进程号 | wc -l,直接算出线程的总数过来。

二.tomcat默认配置

spring boot的关于tomcat的配置在spring-configuration-metadata.json文件中,并且以server.tomcat开头。

默认内嵌的tomcat配置有:

  1. 等待队列的长度:server.tomcat.accept-count,默认为100

b. 最大可被连接数:server.tomcat.max-connections,默认为10000

c. 最大工作线程数:server.tomcat.max-threads,默认为200

d. 最小工作线程数:server.tomcat.min-spare-threads,默认为10

根据以上的默认配置,线程连接超过10000以后出现拒绝连接的情况,触发的请求超过200+100后拒绝连接。

三.如何修改tomcat配置

说实话,这种答案是不固定的,不同的服务器对象的最佳线程数是不固定的,要测试人员在Jmeter或Apache ab通过不断的参数设置找到最高的那个拐点,举个例子,我们项目组所用的是4核8G的服务器,对于4核8G的服务器来说最大的拐点在七八百左右,我们项目组设置是780。

以4核8G的服务器为例,我设置等待队列的长度为1000,最大工作线程数为780,最小工作线程数为100。

四.总结

上面的tomcat线程数调优只是一个例子,数据不能用作参考,实际的工作中还要经过不断的数据测试来寻找到最高的拐点出来。

版权声明:(Tomcat线程数调优)由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件标题或链接至 service#hao123w.com ,本站将立刻删除。
(0)
上一篇 2020年9月9日 上午7:08
下一篇 2020年9月9日 上午7:11
hao123w, hao123生活号 - 让生活更简单!,更多信息请访问 http://www.hao123w.com/