tomcat参数调优

1.配置项

 

2.连接数调整

    总连接数 = acceptCount+connections

    connections:tomcat能接收的请求限制

    acceptCount:超过tomcat能接收的请求以后,堆积在操作系统的数量(windows和linux略有不同)

 

什么时候需要调整connnections(springboot配置参数:server.tomcat.max-connections)?如何调整?

      connections小于maxThreads的时候,需要调大,最好是比预期的最高并发数要大20%,多出的请求堆积

到tomcat的worker处理线程池中

什么时候需要调整acceptCount(springboot配置参数:server.tomcat.accept-count)?

      想受理更多用户请求,却又不想堆积在tomcat中,利用操作系统来堆积,可以调整为最高并发数-connections

实际上不需要调整,tonmcat默认100,linux默认128,最好是把连接控制交给应用程序,这样方便管理

线程数量(springboot配置参数:server.tomcat.max-threads)调为多少合适?

      线程太少,cpu利用率过低,程序吞吐量变小,资源浪费,容易堆积

      线程太多,上下文频繁切换,性能反而降低

      理想的线程数量是(1+代码阻塞时间/代码执行时间)*线程数量

      实际情况是跑起代码,使用jmeter之类的压测工具进行压测,不断调整线程数,将cpu

打到80%-90%的利用率

3.总结

      请求多,cpu占用率高了,如果能接受慢响应,就加大线程数量,否则就集群分流

      优化代码才是王道,配置知识锦上添花

posted @ 2019-01-25 20:47  gluawwa  阅读(1561)  评论(0编辑  收藏  举报