秒杀系统的性能优化

秒杀任务总体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

相关推荐
橘子青衫13 小时前
Java线程揭秘:守护线程与用户线程的深入解析及实战
java·后端·性能优化
那小孩儿21 小时前
最简单的new Date()展示,也能做优化
前端·javascript·性能优化
Amd7941 天前
FastAPI依赖注入性能优化策略
单例模式·性能优化·fastapi·依赖注入·错误处理·异步编程·缓存机制
XuanXu2 天前
CUDA&OpenCL并行编程
性能优化·gpu
菜鸟起航ing3 天前
【Java面试系列】Spring Boot微服务架构下的分布式事务解决方案与性能优化详解 - 3-5年Java开发必备知识
java·spring boot·微服务·性能优化·分布式事务
桂月二二3 天前
Vue3性能优化终极指南:编译策略、运行时调优与全链路监控
性能优化
never0end3 天前
Android 应用的CPU调度策略优化
性能优化
前端菜鸟日常3 天前
前端性能优化核弹级方案:CSS分层渲染+Wasm,首屏提速300%!
前端·css·性能优化·wasm
ALex_zry3 天前
C++17模板编程与if constexpr深度解析
开发语言·c++·性能优化
Gauss松鼠会3 天前
GaussDB Plan Hint调优实战:从执行计划控制到性能优化
数据库·sql·性能优化·database·gaussdb