秒杀系统的性能优化

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

相关推荐
山峰哥11 小时前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
杜子不疼.12 小时前
CANN_Transformer加速库ascend-transformer-boost的大模型推理性能优化实践
深度学习·性能优化·transformer
ujainu12 小时前
Flutter + OpenHarmony 实现无限跑酷游戏开发实战—— 对象池化、性能优化与流畅控制
flutter·游戏·性能优化·openharmony·endless runner
向哆哆16 小时前
CANN生态性能优化:msprof-performance-analyzer深度解析
性能优化·cann
Lethehong16 小时前
深度解析昇腾CANN算子开发:从ops-nn仓库看AIGC算子性能优化实战
性能优化·aigc
程序猿追17 小时前
深度解析CANN ops-nn仓库 神经网络算子的性能优化与实践
人工智能·神经网络·性能优化
heartbeat..21 小时前
JVM 性能调优流程实战:从开发规范到生产应急排查
java·运维·jvm·性能优化·设计规范
爱吃烤鸡翅的酸菜鱼21 小时前
CANN ops-nn卷积算子深度解析与性能优化
人工智能·性能优化·aigc
熊文豪21 小时前
CANN ops-nn 算子调试与性能优化
性能优化·cann·ops-nn
黑码哥1 天前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder