秒杀系统的性能优化

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

相关推荐
q__y__L7 小时前
C#线程同步(二)锁
开发语言·性能优化·c#
OceanBase数据库官方博客15 小时前
当过滤条件不符合最左前缀时,如何有效利用索引? | OceanBase SQL 优化实践
sql·性能优化·oceanbase·分布式数据库
鼠鼠我捏,要死了捏15 小时前
Spark Shuffle性能优化实践指南:提升大数据处理效率
性能优化·spark·shuffle
Alexon Xu19 小时前
ThreadLocal总结
性能优化
诗和远方14939562327341 天前
Matrix内存溢出(OOM)监控机制分析
性能优化
程序视点2 天前
2025最佳Windows优化工具推荐:292KB小工具解决Win11右键菜单/自动更新/Defender等12大痛点
windows·性能优化
林开落L2 天前
进程控制:从创建到终结的完整指南
linux·性能优化·进程控制
OEC小胖胖2 天前
性能优化(一):时间分片(Time Slicing):让你的应用在高负载下“永不卡顿”的秘密
前端·javascript·性能优化·web
CodeShare2 天前
Windows 11任务管理器CPU计算逻辑优化
性能优化·操作系统
程序员编程指南3 天前
Qt 移动应用性能优化策略
c语言·开发语言·c++·qt·性能优化