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次

  • 相关阅读:
    封装小程序http请求
    ES6为数组做的扩展
    练习题
    二叉树的遍历
    快速搭建vue项目
    收集的前端面试大全
    ios兼容webp格式的图片
    小程序开发API之获取启动参数
    使用HTML编写邮件
    深入理解javascript原型和闭包(9)——this
  • 原文地址:https://www.cnblogs.com/wangzhongqiu/p/8760718.html
Copyright © 2011-2022 走看看