zoukankan      html  css  js  c++  java
  • 【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次

  • 相关阅读:
    oracle性能调优
    oracle常用函数
    plsql的安装与使用
    WSAIoctl
    SQL中大概有这么几种JOIN
    如何取分组最大值记录
    having
    MSSQL—按照某一列分组后取前N条记录
    sql之left join、right join、inner join的区别
    delphi 接收心跳包怎么写
  • 原文地址:https://www.cnblogs.com/wangzhongqiu/p/8760718.html
Copyright © 2011-2022 走看看