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"
connectionTimeout="20000"
redirectPort="8443" />
上加入 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="50" prestartminSpareThreads="true" maxQueueSize="100"/>
再次测试或发现平均处理耗时明显减少
WangDaYe