秒杀系统的性能优化

秒杀任务总体QPS预期是每秒几十万,对tomcat、redis、JVM参数进行优化。

tomcat线程数

4核8G的机器,一般就是开200-300个工作线程,这是个经验值。每秒一个线程处理3-5个请求,200多个线程的QPS可以达到1000左右。线程不能太多,太多的话就会导致cpu负载过高,请求处理不过来,增加接口的延迟响应。

JVM参数优化

JVM参数优化的核心在于尽量避免FGC,那么YGC次数肯定会变多,每次YGC时间大概几十毫秒的话,这个其实也没有太大的影响,基本接口还是在200毫秒左右。

-XX:SurvivorRatio=6

redis集群

redis一个分片大概可以扛2-3wQPS,8个分片大概是20w的QPS。此时的redis的cpu负载大概是在50%左右,尚可以支撑。

TPS与QPS

秒杀接口一次TPS会发生很多次redis的读写操作,所以会包含多次QPS查询。每秒几千的TPS就相当于几万甚至十几万的QPS。

生产环境压测数据:

TPS 4543

QPS 22w

累积访问量 175w

相关推荐
鼠鼠我捏,要死了捏8 小时前
深入解析Java NIO多路复用原理与性能优化实践指南
java·性能优化·nio
国科安芯11 小时前
高速CANFD收发器ASM1042在割草机器人轮毂电机通信系统中的适配性研究
网络·单片机·嵌入式硬件·性能优化·机器人·硬件工程
yueyuebaobaoxinx12 小时前
MATLAB 与 Simulink 联合仿真:控制系统建模与动态性能优化
开发语言·matlab·性能优化
TimelessHaze14 小时前
【performance面试考点】让面试官眼前一亮的performance性能优化
前端·性能优化·trae
数据智能老司机18 小时前
探索Java 全新的线程模型——结构化并发
java·性能优化·架构
顾林海18 小时前
网络江湖的两大护法:TCP与UDP的爱恨情仇
网络协议·面试·性能优化
数据智能老司机18 小时前
探索Java 全新的线程模型——作用域值
java·性能优化·架构
数据智能老司机19 小时前
探索Java 全新的线程模型——并发模式
java·性能优化·架构
__lll_19 小时前
前端性能优化:Vue + Vite 全链路性能提升与打包体积压缩指南
前端·性能优化
数据智能老司机19 小时前
探索Java 全新的线程模型——虚拟线程
java·性能优化·架构