• tomcat 优化到每秒并发1000


    tomcat并发线程数能达到多少? 答:tomcat 优化到每秒并发1000,需要以下优化:

    一、优化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.2in>ab -n 10000 -c 1000 http://127.0.0.1/index.jsp   

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

  • 相关阅读:
    ASP 禁止页面被缓存
    关于学习编程的一点想法
    今天下午做的一个关于web前端性能/性能测试的Talk
    错误植入法与老祖宗的智慧
    关闭sitwithwhom.51.net
    让Pywinauto支持中文菜单
    勤学与好问
    LoadRunner 的 web_set_user 函数
    有奖调查——《软件性能测试过程详解与案例剖析》第二版内容调查
    论“响应时间”
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/3575423.html
Copyright © 2020-2023  润新知