在开发接口或者功能点完成后,就需要对接口或功能点压力测试,测试出接口的极限以应对较大并发,举一个最直接的例子:淘宝双十一购物节,2018年淘宝交易创建峰值达到49.1万笔/秒,而在双十一之前淘宝都要对系统进行压测,看是否能够抗住每年创新高的并发!大白话:不停地请求服务的接口,设置每秒的请求量以及持续时间,看看什么时候服务开始处理失败,从而得出服务的性能指标。
一、笔记目的简单认识压测(的目的)介绍压测平台应该有哪些能力二、压测目的挖掘系统瓶颈点 cpu计算能力 业务代码(频繁full gc等) DB 线程模型 带宽等建立性能基线 qps (request per second) rt (response time) 用于线上扩容策略配置等优化系统性能 配置DB主从 jvm参数优化 缓存改造 线程模型改造等三、压测平台应该具备的能力1.压测场景rpc场景(一般为压测单个服务的性能) 回放录制的流量 自定义的流量http场景(一般为全链路压测) 回放录制的流量 自定义的流量2.数据准备数据用于压测的时候使用录制任务 http请求的录制 rpc请求的录制3.压测参数配置压测类型 普通压测(普通循环播放流量) 调试(单次流量播放,一般用于调试链路是否接通) 递增(设置压测的多个阶段,每个阶段配置不同的qps以及持续时长)配置 变量配置(单是流量录制是不够的,特殊的接口(比如关注行为)需要变化请求的参数,因此需要支持变量配置) 自增变量 设置起止值 设置步长 文件变量 读取变量列 时间变量 对当前毫秒戳做加减 *** 作 计算变量 uuid 区间random 预定义变量(就是写死一个值) 请求配置 指定接口与方法/url 指定机器 超时时间 变量 指定配置好的变量 压测配置 初始qps 期望最大qps 词表配置 循环回放流量录制中的流量 资源隔离 DB隔离 缓存隔离 MQ隔离 静默期(那个时间段不可以进行压测)4.保护策略配置不同的监控项以及异常的处理策略:比如停止压测或者降低压测流量等db保护策略 配置db的告警阈值 告警之后自动降低指定的qps或者停止压测机器保护策略 监控cpu gc 内存等等等等 降低qps或者停止服务保护策略 监测请求的响应情况 降低qps或者停止5.监控配置不同的监控项用于判断性能瓶颈客户端响应情况监控 qps rt 错误率服务端监控#### 业务日志 机器 cpu 线程池 服务接口等待队列大小等四、压测报告需要输出压测报告用于分析和记录 各个监控项的指标 压测结果的指标 等等今天为大家简单列举了一些压测的知识点,以后有时间再为大家详细介绍哦,欢迎一键三连!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)