高并发下,MySQL能抗多少并发?

高并发是大型架构核心,下面我详解MySQL能抗多少并发@mikechen

高并发场景

高并发场景很多,例如:电商秒杀、抢购、短视频/直播平台(点赞、评论、礼物)。

高并发下,MySQL能抗多少并发?-mikechen

在真实系统里,数据库并不是直接面对全部流量,而是处在“被保护层”的位置。

用户请求 → CDN → 网关 → 缓存(Redis) → MySQL

90%+ 请求在缓存层被拦截,真正打到 MySQL 的请求是“少数关键写 + 少量读”。

但是,如果穿透了缓存,也还是会打到MySQL,所以需要重点关注MySQL抗压能力。

 

MySQL单机能抗多少并发?

高并发下,MySQL能抗多少并发?-mikechen

单机MySQL并发天花板取决于多维度,以下是典型配置下的实测数据:

配置规格 CPU/内存/磁盘 简单SELECT TPS 复杂UPDATE TPS 并发连接数上限
入门级 (4核8G机械盘) 简单查询 500-1000 200-500 500-1000
标准级 (8核16G SSD) 简单查询 3000-8000 1000-3000 2000-4000
高配级 (16核32G NVMe) 简单查询 1-2万 3000-8000 5000-1万
极限级 (32核128G NVMe+优化) 点查询 4-5万 1万以下 2万+

简要总结:MySQL单机并发能力不是固定值,通常2000-5000 TPS(事务/秒)是常见上限。

但受硬件、SQL复杂度、索引等因素制约 。

比如:

-- 慢SQL
SELECT * FROM orders WHERE status = 1;

-- 优化后
SELECT id FROM orders WHERE status = 1 LIMIT 10;

差距可能是 100倍,所以,还需要重点关注MySQL自身的优化。

评论交流
    说说你的看法