【发布时间】:2012-09-18 00:37:00
【问题描述】:
想知道如何增加tomcat 7中的并发连接数。我做了一些研究,从apache文档中发现将值设置为acceptCount,maxConnections并增加maxThreads就可以了,但是尝试时,我只能提交1000 个请求中有 500 个请求。下面是我的来自 server.xml 文件的 sn-p -
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="2000" acceptCount="1000" maxConnections="1000"
scheme="https" secure="true"
keystoreFile="certs/tomcat.keystore" keystorePass="xxxxxxxx"
clientAuth="false" sslProtocol="TLS" server="Apache" />
你能帮我找出最好和最简单的方法来摆脱这个吗?
谢谢, 西里什。
【问题讨论】:
-
你应该做一个线程转储来找出阻塞请求的原因,因为你已经配置了 2000 个线程(最大但不是最小,所以 Tomcat 需要在苍蝇)。但是,2000 个线程是巨大的,你确定需要这么多吗?
-
嗨弗兰克,我只是想看看增加线程是否有任何不同,并且也知道这会导致内存问题。在这一点上,我想将服务器配置为接受尽可能多的连接,而不默认为 200 个线程(默认情况下由 tomcat 设置)。很想知道如何顺便做一个线程转储。?任何帮助是极大的赞赏。谢谢。!!
-
要获取线程转储,您可以
kill -3 PID(如果您使用的是 Unix;Windows 上有一个 Ctrl-something 组合可以达到相同的结果),它将在标准输出,或使用jstack PID > threads.txt,jstack 是JDK 的一部分。即使你只有 200 个线程,如果它们都被并发请求使用,那么它将会是一个 long 读取来分析。