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