zoukankan      html  css  js  c++  java
  • 双十一LoanMarket压力测试报告

     

    测试背景

    评估服务器资源及几个重要接口的并发性能。

    测试需求

    由开发提供的5个重要接口: 

    业务场景

    URL

    访问量(万)

    TPS

    请求比例(%)

    随手借点-首页产品接口

    /suishoujiedian-webservice/loanProduct/v3/terminal/listAllLoanProduct.do

    73

    19

    贷款超市-产品配置

    /cardniuoperation-webservice/product/listProductTree.action

    73

    19

    贷款超市-banner位

    /cardniuoperation-webservice/bannerConfig/getShow.action

    26

    6

    贷款超市-统计上报

    /cardniuoperation-webservice/loanStatService/addLoanStat.action

    149

    37

    贷款超市-活动配置

    /cardniuoperation-webservice/loanGiftWebService/getLoanGiftItemByActivity.action

    68

    19


    其中,访问量来自于线上服务器的一天访问量总和,涉及到五个负载机。前四个接口有四个负载机,最后一个接口有两个负载机。
    TPS采用二八原则(即80%的访问是在20%的时间内完成),随后计算出每秒的访问量。

    测试方案

    通过线上监控的接口访问量以及网卡流量可知,一天中,系统用户活跃时间为24小时,根据二八原则(80%的请求是在20%的时间内完成的),可计算出TPS。如上图所示,得到每个接口要达到的TPS。按照各请求的占比设计脚本,然后执行压测,观察各接口响应时间以及服务器资源利用情况。

    性能指标

     响应时间,单个接口低于1秒 
     TPS是否达到预期值 
     事务成功率不能低于98% 
     服务器资源利用率 

    指标

    阈值

    备注

    CPU

    <70%

    过高会导致系统服务不稳定

    内存使用率

    <70%

    同上

    磁盘使用率

    <70%

    同上

    网络带宽

    <70%

    过高会导致网络延迟,响应时间变长

    测试环境

    负载机IP:
    测试机IP:
    数据库IP:

    测试脚本

    使用Jmeter测试工具,用Java编写测试变量处理过程,如用户ID随机获取及加密,循环发送请求,并且按照请求的比例来模拟线上用户并发访问系统。 

    测试数据

    贷款超市-产品配置接口,userid由现网环境下导出100个。
    贷款超市-统计上报接口,udid、userId由随机整数生成然后加密,loanBehavior范围为click, load_break, load_success, load_server_error, loanproduct_submit,loanproduct_refuse_contacts, loanproduct_refuse_location, home_click, load_product。 

    测试结果

    并发用户数

    混合场景接口平均响应时间(ms)

    总TPS

    请求总数(10分钟)

    100

    168

    591

    354655

    150

    256

    583

    349867

    200

    334

    595

    357477


    下面列举出100用户并发下的性能指标,从下图可以看出TPS(等同于Throughput)远远大于根据现网访问量计算出的TPS,平均响应时间很低。

    1. 响应时间和TPS

    随手借点-首页产品接口返回数据较大,响应时间在751ms,其余接口响应时间在100ms以下,属于正常范围。
    五个接口的测试环境下TPS均远大于线上TPS,性能良好。
     
    TPS趋势图,稳定在600附近。
     

    1. 服务器资源利用率

    CPU利用率在70%以下,正常(测试时间从14:39到14:49)。
     
    IO使用率较低,正常。
     
    网卡流量在120Mbps,正常。
     
    MySQL连接数,正常。
     
    慢速sql数量为0,正常。
     

    测试结论

    从上面的结果来看,在单个服务器情况下,压测接口的TPS大于现网服务器TPS的总和,可以满足接口日常访问量三倍的需求。

  • 相关阅读:
    vue:自定义指令
    vue 声明周期
    组件之间的通信
    vue动态组件keepalive
    vuecli的使用
    数据结构线性表(C#) 天高地厚
    HOOK钩子函数 天高地厚
    OSI模型 天高地厚
    HTTP 天高地厚
    说说JSONP 天高地厚
  • 原文地址:https://www.cnblogs.com/lynnetest/p/10084153.html
Copyright © 2011-2022 走看看