zoukankan      html  css  js  c++  java
  • 接口测试工具jmeter压力测试

    一个系统上线前必须经过性能测试,如果系统性能不满足需求,在后续的运维过程中会遇到很多麻烦,也不能给客户提供良好的使用体验。
    性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
    1、使用jmeter进行压力测试
    上节课使用的jmeter,就拥有压力测试的功能。首先打开jmeter,创建线程组。

    1.png
    线程数:可以设置同时有多少线程执行测试操作

    Ramp-up Period (in Seconds):用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。如果未指定ramp-up period ,也就是说ramp-up period 为零, JMeter 将立即建立所有线程。假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。
    循环次数:就是决定一个线程要跑多少次测试
    Delay Thread creation until needed:直到需要时延迟线程的创建
    调度器:选中之后可以配置启动时间,立即或者预定的时间
    下面以登录接口为例,进行配置:

    image.png
    首先对线程组进行配置,要求再10秒内同时跑20次登录操作。为了查看性能结果,需要配置聚合报告。
     
    image.png
    HTTP请求和察看结果树配置好后,点击运行,来查看运行结果。
     
    image.png
    lable:请求名称

    #Sample:发出的请求数量,最后一行会记录所有请求的总发出数
    Average:平均响应时间
    median:中位数,50%用户的响应时间
    90% Line/95% Line/99% Line:百分之90/95/99用户的响应时间,当最小响应时间和最大响应时间差距过大时,平均响应时间是不可靠的,需要计算90%以上用户的响应时间才能得到更真实的数据
    min/max:最小/最大响应时间
    Error%:本次请求出现的错误率,即错误的请求数量/总请求数
    ThroughPut:吞吐量,默认为每秒完成的请求数(图中为每分完成的请求数)
    KB/sec:每秒从服务器端接收到的数据量
    一般通过聚合报告来对压力测试结果进行分析,一般在成功的前提下要求TPS越大越好而响应时间越小越好。
    2、使用负载机
    有时候测试使用的电脑并不能满足压力测试的需要,可以借助其他同事的电脑(其他的电脑被称为负载机)分担测试任务。当然,前提是同事的电脑也安装了jmeter。
    第一步:需要对方运行电脑中jmeter安装目录下bin目录下的文件jmeter-server.bat(默认为Windows系统,如果为Mac则运行jmeter-server.sh即可)
    第二步:在自己电脑上找到jmeter的配置文件jmeter.properties,在数据remot_hosts后添加负载机的IP地址(需要加端口号),remot_hosts后本来跟有本机的IP地址,只需要用英文逗号隔开即可
    第三步:重启主控机的jmeter
    第四步:配置好线程组、请求及测试数据
    第五步:选择远程全部运行 

    image.png
    注:如果有参数从文件中获取,则负载机和主控机的bin目录下都需要有这个文件
    :端口号默认为1099,如果负载机修改了端口号,配置文件中IP地址后的端口号也需要修改。
  • 相关阅读:
    分析报告生产器使用问题
    如何使用分析报告生产器来生产图表
    基础数据代换代码
    浅谈Session与Cookie的区别与联系
    TCP和UDP的区别(转)
    项目管理技巧-怎么让代码规范执行下去
    吾日三省吾身
    C# 类型基础
    泛型
    事件与委托(续)
  • 原文地址:https://www.cnblogs.com/myyard777/p/8609547.html
Copyright © 2011-2022 走看看