• JMeter网站测试分析


     WEB类型:
    1. User Driver:以用户量作为衡量系统性能的主要指标的系统,典型如IM系统、企业 内部业务系统;
    2. TPS-Driver:以tps作为衡量系统性能的主要指标的系统,典型的如消息系统、支付系统、批量处理系统。
        建立用户模型、日活跃量、分析用户的行为....
        二八原则
        假设网站得到如下数据:

    550*80%/400/2=0.55次  每个用户每小时登陆次数

    计算平均每个用户在高峰时间段每小时的活动频率---》workload

    日活跃用户,该数据用于容量测试,如之前计算出的登录2次/秒,可乘以500

    (日活跃用户是相对于流失用户来说的,是对网站真正有登录操作过行为的用户。流失用户曾经注册过之后不再登录的用户,对于一个网站而言,真正有意义的是活跃用户数而非总用户数,因为只有这些用户在为网站创造着价值)
     
    比方说拿一个网站测试
    第一确定测试目标
           响应时间:<2s
          点击率:10次/秒
    第二确定用户模型
          登录平均每天500次
         交易明细查询300次
          退出100次
          在高峰时间段2小时同时在线人数300人
         建立workload:
    第三JMeter页面参数设置
        设置线程数75个,Ramp-Up 600秒,循环次数为6次
     
    此处存在的疑问:线程数和Ramp-Up的值设置多少合理? 
    解析:  如果你是模拟300个用户的话,需要75个线程(4个用户一个线程)。 资料里说ramp的设置需要慢慢调整,这点确实是这样的,当然我还是可以预先做一些计算使得尽快到达合理的值。比如,上面设置的一个线程一共有6个请求,一个小时内完成,设置的是等长时间达到;像你这样ramp是10s的话,10s后所有75个线程都启动,这个75个线程基本会差不多同一时间来后后面的几个请求,虽然总的算下来确实符合每小时xx个请求,但是请求分布不均匀。
     
    可以这样计算,上面计算到每个线程一个小时发6个请求,也就是每10分钟发一个请求,我们想要这10分钟内后面线程的请求能够均匀的分布,也就是 10*60/75=8s;也就是说线程按照8s一个的间隔开始运行(每个线程一开始就要发一个请求,通常是这样做的),在10分钟时,最后一个线程刚开始启动,第一个线程此时要发第二个请求了,一次类推,每10分钟内我们的请求都是比较均匀的。 
    根据上面的估算,可以设置 rampup=8*75,也就是10分钟,这个数值基本是合适的。
     
    4、设置监听器
    5、查看并分析结果
     
    根据loadosophia.org结果显示:
    Average Response Time: 15 ms 
    90% Response Time: 24 ms 
    Min Response Time: 5 ms 
    Max Response Time: 33 ms
    响应时间是否符合要求需要预先跟团队协商,没有非常硬性的标准,团队协商大致可以这样:
    1.评估请求从客户端发出到服务端处理完毕的每个环节需要的时间
    2.网络延迟可以从一些渠道获取或者参考目前同类网站的响应时间
     
     
  • 相关阅读:
    聊一聊分布式锁的设计
    github上值得关注的前端项目
    数据库水平切分的实现原理解析——分库,分表,主从,集群,负载均衡器(转)
    查询执行时间
    Autofac in webapi2
    Fluent Validation with Web Api 2
    数字转换成大写
    ABP:在多语句事务内不允许使用 CREATE DATABASE 语句
    陕西电力同业对标管理系统
    多媒体文件嵌入HTML中自动转码工具
  • 原文地址:https://www.cnblogs.com/wysk/p/6933611.html
Copyright © 2020-2023  润新知