• jmeter的使用---压力测试


    jmeter用于压力测试

    首先我们要区别压力和攻击,当设立了不适当的线程数量和准备时长,就容易造成攻击。

    线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

    准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

    循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

      设置合理的线程数对于能否达到测试目标有决定性的影响。在本例中,要求得到网站首页在20 QPS 负载情况下的响应时间,如果如果线程数量设置的过小,则很可能无法达到设定的QPS要求。另外,设置合理的循环次数也很重要,除了上面介绍的固定循环次数与永远外;也可以灵活的选择设定测试运行时间。勾选“调度器”,进行调度器配置。

    步骤:

    1、建立线程组

    2、建立http-cookie管理session

    3、创建http请求

    4、添加“查看结果树”

    图形结果 
    下面解释下图形结果下方的各个参数: 
    样本数目:总共发送到服务器的请求数。 
    最新样本:代表时间的数字,是服务器响应最后一个请求的时间。 
    吞吐量:服务器每分钟处理的请求数。  
    平均值:总运行时间除以发送到服务器的请求数。  
    中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。  

    偏离:表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。 

    聚合报告
    图表含义说明如下:
    Label:说明是请求类型,如Http,FTP等请求。
    #Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。
    Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
    Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
    90%line:是指90%请求的响应时间比所得数值还要小。
    Min:是代表时间的数字,是服务器响应的最短时间。
    Max: 是代表时间的数字,是服务器响应的最长时间。
    Error%:请求的错误百分比。
    Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。
    KB/sec:是每秒钟请求的字节数。

    实例:

    1、publisher登陆接口"/isli/uasc/account/v1/openapi/unification/account/2/signin";
     
    分析:对比C:Users ew0514aDesktopj登陆1秒1000个请求和C:Users ew0514aDesktopj登陆1000秒1000个请求
    发现登陆1秒1000个请求中服务器拒绝链接的响应占0.638,查看publisher的日志可以接到uasc响应的有362个,说明publisher的服务器由于硬件或者程序的问题导致tcp链接没有建立起来
     
        <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
            connectionTimeout="20000"  SSLEnabled="true"
            maxThreads="150" scheme="https" secure="true"
            clientAuth="false" sslProtocol="TLS"  keystoreFile="configuration/keyStore/server.keystore" keystorePass="123456"/>
    分析publisher的tomcat,允许最大线程是150,所以并发1000是不可能的事情。

     需要具备的知识:

    1http请求头详解:http://kb.cnblogs.com/page/92320/

    2cookie和session区别详解:

    3http://www.xxdafa.com/article?id=57b33ba7b8063f1a058b457a

  • 相关阅读:
    B-树和B+树的应用:数据搜索和数据库索引【转】
    与网络编程相关的信号:
    Reactor构架模式
    EINTR错误
    通讯链路的检测方法
    背景减法——自组织算法
    数据结构7_链二叉树
    背景减法——Vibe
    操作系统2_进程控制
    操作系统1_进程控制块PCB
  • 原文地址:https://www.cnblogs.com/wanghongye/p/5913054.html
Copyright © 2020-2023  润新知