生产问题定位步骤

生产问题定位步骤

1、如何查看当前tomcat的连接数呢?

假设服务器上开启了 2个tomcat实例,分别监听8040和8050端口

netstat -na | grep ESTAB | grep 8040 | wc -l

netstat -na | grep ESTAB | grep 8050 | wc -l

2、查看业务和数据库无压力

继续增加业务节点

tomcat是目前较为常用的Web容器,那么怎么配置tomcat才能使得自己的服务效率更高,今天我主要解释一下tomcat的最大线程数(maxThreads)、最大等待数(acceptCount)和最大连接数(maxConnections)。

maxThreads(最大线程数):每一次HTTP请求到达Web服务,tomcat都会创建一个线程来处理该请求,那么最大线程数决定了Web服务可以同时处理多少个请求,默认200.

accepCount(最大等待数):当调用Web服务的HTTP请求数达到tomcat的最大线程数时,还有新的HTTP请求到来,这时tomcat会将该请求放在等待队列中,这个acceptCount就是指能够接受的最大等待数,默认100.如果等待队列也被放满了,这个时候再来新的请求就会被tomcat拒绝(connection refused)。

maxConnections(最大连接数):这个参数是指在同一时间,tomcat能够接受的最大连接数。一般这个值要大于maxThreads+acceptCount。

增加线程是有成本的,JVM中默认情况下在创建新线程时会分配大小为1M的线程栈,所以更多的线程异味着更多的内存;
更多的线程会带来更多的线程上下文切换成本。

猜你喜欢

转载自blog.csdn.net/liuqianduxin/article/details/83412017