使用Jmeter对接口进行压力测试
今天第一次使用Jmeter对系统进行了压力测试,测试了一下纯数据库方案以及添加了缓存的方案,结果惊人。
只使用MySQL处理请求
在设置并发量为每秒1000次的时候,可以看到MySQL的处理速度已经很慢了,平均响应时间达到了5235ms
使用Caffeine+Redis多级缓存方案
每秒1000次并发,对于缓存来说这么小的并发量只需略微出手,热身级别。平均响应时间2ms,相差2000+倍
每秒10000次并发
MySQL近乎宕机,平均响应时间达到24秒是一个灾难性的故障信号,意味着服务已基本不可用,并随时可能引发系统性崩溃。
引入了多级缓存的情况下,系统运行状态良好,完全没有达到上限
缓存、限流、降级等保护机制不是可选项,而是生存的必需品。测试数据已经完美证实,一个有效的多级缓存架构能将系统从“崩溃边缘”(24秒)拉回“正常服务”(63毫秒)。
