• 性能测试关注点


    开始性能测试前需要了解的内容:

    1、  项目具体需求是什么,为什么要做性能测试?哪些交易需要做性能测试?哪些场景需要做性能测试?

    2、  指标:响应时间在多少秒以内,支持多少并发数,每支交易的tps是多少,总tps多少,稳定性交易总量要达到多少,事务成功率要达到多少,交易波动范围是多少,稳定运行时长是多久,资源利用率不能超过多少等。

    3、  环境:生产环境服务器数量有多少,测试环境服务器数量有多少,按照资源比例计算出测试指标。

    4、  协议:系统用什么协议进行通讯。

    5、  压力机数量:如果并发用户数过多,需要把压力发到不同的压力机,不然可能会存在压力机瓶颈问题,导致tps和响应时间抖动问题。

    6、  交易占比:分析线上日志得出每支交易的使用占比是多少。

    7、  系统架构:请求流经过哪些环节,压测时监控这些环节。

    测试步骤:

    1、基准测试:单个交易单个用户迭代100次,关注响应时间是否在指标范围内,事务成功率要为100%。

    2、负载测试:1单个交易10个用户持续跑10分钟,关注响应时间是否在指标范围内,交易是否支持并发,事务成功率要为100%。

    3、容量测试:先估算一个总tps,根据配比公式计算出每个交易的pacing和vu,获取系统最大处理能力(最优容量),再令外测出三个梯度作为对比(两组小于最优容量,一组大于最优容量),四组容量VU等差,tps等差,对比每组容量实际占比和测试占比(越接近越能模拟真实场景),关注响应时间是否在指标范围内,总tps和每支交易的tps能否满足指标,事务成功率要为100%,应用服务器cpu利用率和数据库服务器cpu利用率是否在指标范围内,是否存在线程死锁和数据库死锁情况。

    其中响应时间应小于负载测试时间(因为负载测试并发用户数多,资源往往是超过指标的),总tps应约等于预估总tps(相差不超过10是正常的),每个交易的tps应接近预估总tps*占比。

    4、稳定性:采取最优容量的80%或者最优容量作为压力持续运行24小时,观察系统长时间运行的性能表现,关注响应时间、tps、总tps、事务成功率、交易总数等是否满足指标,观察是否有内存溢出(堆溢出,栈溢出,持久代溢出),cpu利用率是否达标,mem是否不持续增长,是否能正常触发fullgc,要关注gc时间、gc频率、 fullgc时间、fullgc频率。

    监控:

    容量测试和稳定性测试时启动nmon监控。

  • 相关阅读:
    构建高性能的读服务
    Redis基础入门
    基于TCP实现简单的聊天室
    递归

    Go标准库Cond
    排序(冒泡,选择,插入,快速)
    链表
    队列
    Golang实现RPC
  • 原文地址:https://www.cnblogs.com/lanyy/p/8586130.html
Copyright © 2020-2023  润新知