Tomcat压力测试和优化

Posted Leon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat压力测试和优化相关的知识,希望对你有一定的参考价值。

一、采用jmeter进行测试

为什么使用jmeter, 它免费开源, 不断发展, 功能逐渐强大. 可以做功能,负载, 性能测试.一套脚本可以同时用于功能和性能测试.Jmeter 有着众多的插件开发者, 支持多种的测试协议.
关于jmeter的使用,请参考

http://www.hissummer.com/jmeter-summary.html

Jmeter 快速入门教程(二)--创建简单web测试

二、jmeter高级使用

Jmeter的分布式测试(优缺点)

Jmeter如今也可以云?

JMeter 聚合报告之 90% Line 参数说明

jmeter-集合点

 三、性能测试和优化

并发数、QPS、平均响应时间三者之间关系

 

上图横坐标是并发用户数。绿线是CPU使用率;紫线是吞吐量,即QPS;蓝线是时延。
 开始,系统只有一个用户,CPU工作肯定是不饱合的。一方面该服务器可能有多个cpu,但是只处理单个进程,另一方面,在处理一个进程中,有些阶段可能是IO阶段,这个时候会造成CPU等待,但是有没有其他请 求进程可以被处理)。随着并发用户数的增加,CPU利用率上升,QPS相应也增加(公式为QPS=并发用户数/平均响应时间。)随着并发用户数的增加,平均响应时间也在增加,而且平均响应时间的增加是一个指数增加曲线。而当并发数增加到很大时,每秒钟都会有很多请求需要处理,会造成进程(线程)频繁切换,反正真正用于处理请求的时间变少,每秒能够处 理的请求数反而变少,同时用户的请求等待时间也会变大,甚至超过用户的心理底线。

 一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。需要找到系统的阈值,不能超过这个值

以下测试场景遵循规则:请求的response的超时时间为1000毫秒

1、tomcat配置:acceptCount="200" maxThreads="200" maxConnections="200" protocol="HTTP/1.1"

模拟最大并发500,循环100次

模拟最大并发400,循环100次

模拟最大并发300,循环100次

模拟最大并发200,循环100次

模拟最大并发100,循环100次

以上是关于Tomcat压力测试和优化的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Apache提供ab压力测试工具进行压力测试

ab(Apache Bench)压力测试工具

如何对Tomcat服务进行压力测试

Apache网页深入优化之ab压力测试工作模式与目录属性优化

nginx优化php-fpm优化 压力测试达到每分150万访问量webbench网站压力

Apache网页深入优化——ab压力测试,工作模式