8月26日上课笔记

dubbo地址
http://dubbo.apache.org/zh-cn/docs/user/quick-start.html
https://blog.csdn.net/noaman_wgs/article/details/70214612
使用dubbo进行接口测试
泛化调用,需要看Java反射
性能测试基本概念

如何衡量一个接口的性能

在4核8G的服务器上压测,20并发下,我们测试得到的TPS为200,MAT为150ms,RT90值为250Ms,CPU使用率为65%
指标:

  • 并发数,
  • TPS
  • MRT(平均响应时间),RT90值(90%的响应时间小于该值),RT99值(99%的响应时间小于该值)
  • 资源使用率(CPU、内存、网络、磁盘)

吞吐量

每秒钟成功处理的事物数、请求数
衡量指标:
TPS:Transaction in sec
IOPS:
BPS:
QPS:

响应时间:

从客户端发起一个请求开始,到客户端接收到从服务器端返回的最后一个字节结束,这个过程所耗费的时间
STD DEV:标准差,响应时间波动,波动越小越好

如何开展性能测试

  • 测试目标和测试类型的选择
    上线的功能是否有性能问题
    评估系统性能:性能测试、负载测试
    检查系统性能瓶颈点:负载测试、压力测试
    优化后的接口,是否有性能提升
    回归测试、负载、压力测试
    验证稳定性、可靠性等;稳定性测试、异常测试
    容量评估:线上压测

哪些接口需要进行性能测试

核心功能
高频调用接口
业务逻辑复杂的接口、大量数据库读写操作

性能测试环境要求

  • 软硬件环境要求一致
    线上集群的最小集合
    硬件配置最好一致
    拒绝多个服务混部在同一台服务器上
    软件配置和线上保持一致

测试准备

##测试数据
    *用户账号
        预估三个月或半年后活跃用户数
        避免随便找几十个用户账号就开始测试
    参数化数据、数据量、数据大小符合真实分布
    设置铺底数据,从镜像库导线上数据到测试库
## 测试脚本和工具:Jmeter,Grinder
## 性能测试平台

测试执行

## 做好监控:把一切监控起来
    性能指标:TPS,MRT,RT90,失败率
    资源监控:
        监控点:CPU,内存、网络、磁盘
        监控机器:压测机器、nginx、应用服务、数据库、缓存、消息队列
    日志监控:检查错误、异常,既是发现错误
    Java监控:堆内存、线程状态、线程数量等

流程文档

性能测试准入标准:
    提测任务描述清楚
    功能(第一轮)测试通过
提测需求文档:
    测试目的、测试内容、测试环境、通过标准、被测系统架构
性能测试通过标准:
    遗留bug:五Major级别以上的bug

响应时间一般在200ms,最多500ms
是否符合预期:符合预期指标

原文地址:https://www.cnblogs.com/csj2018/p/9537254.html