秒杀系统的性能优化

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

相关推荐
hhb_61819 分钟前
Python 工程化开发与性能优化实践
开发语言·python·性能优化
MU在掘金9169533 分钟前
4个Agent如何协作分析一次Android卡顿——全链路设计复盘
性能优化
好家伙VCC2 小时前
# React发散创新:从状态管理到自定义Hook的极致实践与性能优化在现代前端开发
java·javascript·python·react.js·性能优化
0xDevNull1 天前
Java 深度解析:for 循环 vs Stream.forEach 及性能优化指南
java·开发语言·性能优化
Wect1 天前
深度解析前端性能优化
前端·面试·性能优化
Captain_Data1 天前
SQL优化实战:如何让查询速度提升10倍
数据库·sql·mysql·性能优化·数据分析
小江的记录本1 天前
【分布式】分布式核心组件——分布式ID生成:雪花算法、号段模式、美团Leaf、百度UidGenerator、时钟回拨解决方案
分布式·后端·算法·缓存·性能优化·架构·系统架构
weixin199701080162 天前
当当商品详情页前端性能优化实战
性能优化
kyriewen2 天前
你的首屏慢得像蜗牛?这6招让页面“秒开”
前端·面试·性能优化