Tomcat压力测试,优化

概述,

 

      对web应用开发者来说,我们很关心应用可同时处理的请求数,以及响应时间。应用本身和它运行在其中的web容器是两个很重要的影响因素。


      对tomcat来说,每一个进来的请求(request)都需要一个线程,直到该请求结束。如果同时进来的请求多于当前可用的请求处理线程数,额外的

    线程就会被创建,直到到达配置的最大线程数(maxThreads属性值)。如果仍就同时接收到更多请求,这些来不及处理的请求就会在Connector创建

    的ServerSocket中堆积起来,直到到达最大的配置值(acceptCount属性值)。至此,任何再来的请求将会收到connection refused错误,直到有可用

    的资源来处理它们

 

一 首先需要项目部署到Tomcat

  1.把项目拖到linux usr/local/tomcat

 

 

  2.启动Tomcat部署项目

    到/usr/local/tomcat/bin目录下输入如下命令:

    ./startup.sh && tail -f ../logs/catalina.out

    出现如下日志:

 

 

  这时什么也不用做等待即可,当出现如下所示时

 

 

  访问项目地址

 

 

 

此时表示项目部署成功!

 

压力测试

  一 jmeter

    下载jmeter 加压后进入Bin目录运行jmeter.bat

 

 

  如下

 

 

  首先新建一个线程组

 

 

 

 

   添加一个HTTP请求

 

 

 

 

  添加监听器

 

 

  优化之前

 

 

   异常率:0%

  平均处理耗时:5698

  吞吐量:150/S

 

  停止Tomcat服务找到tomacat解压目录的conf文件夹下,server.xml文件

  在

      <Connector executor="tomcatThreadPool"  port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
  上加入 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="50" prestartminSpareThreads="true" maxQueueSize="100"/>
 
  再次测试或发现平均处理耗时明显减少
 

 

posted @ 2020-03-10 19:52  败给时光  阅读(425)  评论(0编辑  收藏  举报