tomcat 并发优化

时间:2022-07-25
本文章向大家介绍tomcat 并发优化,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

tomcat并发线程数能达到多少? 需要如何优化?

优化方法

一、优化tomcat中的配置(包括tomcat APR(Apache Portable Runtime)优化-性能比纯java的强);

二、使用linux系统 : 64位的CPU + 64位的Linux操作系统,再配上64位的JDK,齐活了, 那性能真不是盖的!

备注: Tomcat本身一般不会成为瓶颈,应用或DB操作,这些才是重点

用windows的话,著名的MaxUserPort和TcpTimedWaitDelay得先调,不然没法对比,就这个性能也不是特别高。

在linux上的默认配置,1K并发可以很轻松的完成。

测试脚本:

1、第一步: 优化配置tomcat

 (1)server.xml:
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="2000" minSpareThreads="1000"/>
   

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="2000"
               redirectPort="8443"  enableLookups="false"
      acceptCount="5000" maxThreads="2000"/>

(2)catalina.bat:

    set JAVA_OPTS=-Xms1400m -Xmx1400m -Djava.awt.headless=true

2、第二步:写个index.jsp(除了下面这些代码,还有200行html代码,没有一个图片)

<%
for(int i=0;i<1000;i++){
   request.setAttribute("key_"+i,"value_"+i);    
}


for(int i=0;i<100;i++){
   request.getSession().setAttribute("key_"+i,"value_"+i);    
}
%>
<br />
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>
<%=request.getSession().getAttribute("key_0")%>

3、第三步:启动tomcat,使用apache ab命令进行并发测试:

      D:Apache2.2bin>ab -n 10000 -c 1000 http://127.0.0.1/index.jsp   

ab命令会显示测试出的结果,这样就可以测试出tomcat的并发能力。