调整Tomcat的并发线程到5000+

调整Tomcat的并发线程数到5000+

1. 调整server.xml的配置

先调整maxThreads的数值,在未调整任何参数之前,默认的并发线程可以达到40。

调整此项后可以达到1800左右。

 

[html][/html] view plaincopy

  1. <Connector URIEncoding=”utf-8″ connectionTimeout=”20000″ port=”8080″ protocol=”HTTP/1.1″ redirectPort=”8443″
  2. maxThreads=”32000″
  3. />

再试试使用非阻塞的库。

[html][/html] view plaincopy

  1. <Connector URIEncoding=”utf-8″ connectionTimeout=”20000″ port=”8080″ protocol=”HTTP/1.1″ redirectPort=”8443″
  2. maxThreads=”32000″
  3. protocol=”org.apache.coyote.http11.Http11NioProtocol”
  4. />

结果和不使用非阻塞的库差不多。

 

线程数在2000左右。
2.调整用户打开的文件数限制

 

[plain][/plain]

  1. ulimit -n 32768

调整后,线程数增加到了5900左右。

 

3.减少缓冲区大小到1024

 

[html][/html] view plaincopy

  1. maxThreads=”32000″
  2. socket.appReadBufSize=”1024″
  3. socket.appWriteBufSize=”1024″
  4. bufferSize=”1024″

无效果

 

综合来看,还是达不到10000并发。下次增加内存再试试。

当前的内存配置是1024M。

标签