news 2026/4/16 8:13:42

互联网核心系统架构白皮书:从 MySQL 到千万 QPS 的全链路工程体系

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
互联网核心系统架构白皮书:从 MySQL 到千万 QPS 的全链路工程体系

流量工程 · 缓存体系 · 写削峰 · CQRS · 异构存储 · 事件驱动 · 金融级稳定性设计


一、什么才是真正的“千万 QPS”?

先给出一个行业级结论:

千万 QPS 从来不是 MySQL 的能力,而是整个系统工程能力。 MySQL 在真正的千万 QPS 架构中,只承担 0.1%~1% 的请求量

真实系统 QPS 分担比例模型:

层级承担比例
L1 本地缓存60% ~ 80%
L2 Redis15% ~ 30%
L3 ES / ClickHouse3% ~ 5%
MySQL0.1% ~ 1%

🔒【生产级增强说明】 如果你的 MySQL 实际 QPS 已经接近百万级,系统一定在“亚健康”状态:

  • 锁冲突会指数上升
  • 复制延迟无法控制
  • 任何一次抖动都会导致雪崩

所以架构目标不是让 MySQL 扛住千万,而是让 MySQL 尽量无感


二、整体架构全景总览

QPS 分流效果:

本地缓存 ≈ 70% Redis ≈ 25% ES/CH ≈ 4% MySQL ≤ 1%

三、单机 MySQL 性能极限优化

目标:达到单机性能瓶颈(通常 2~10 万 QPS)


1. 硬件与 OS 优化

# 使用NVMe SSD替代SATA SSD # 内存至少128GB以上 # CPU核心数32+,开启超线程 # OS参数调优 echo "net.core.somaxconn = 65535" >> /etc/sysctl.conf echo "net.ipv4.tcp_max_syn_backlog = 65535" >> /etc/sysctl.conf echo "vm.swappiness = 10" >> /etc/sysctl.conf

🔒【生产级增强】

补充必须同时调整:

fs.file-max = 1000000 net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_tw_reuse = 1

⚠【风险提示】 如果 file-max 和端口范围不调,大规模连接会直接触发:

  • too many open files
  • cannot assign requested address

2. MySQL 配置优化

# my.cnf关键配置 [mysqld] # InnoDB缓冲池(占物理内存70-80%) innodb_buffer_pool_size = 100G innodb_buffer_pool_instances = 16 # 日志优化 innodb_log_file_size = 4G innodb_log_buffer_size = 256M innodb_flush_log_at_trx_commit = 2 # 根据业务容忍度调整 # 并发配置 max_connections = 5000 thread_cache_size = 100 innodb_thread_concurrency = 0 # 禁用并发控制 # 其他优化 innodb_io_capacity = 20000 # SSD配置 innodb_flush_method = O_DIRECT

🔒【生产级增强说明】

真实生产中,建议加:

skip_name_resolve = 1 performance_schema = ON innodb_print_all_deadlocks = 1

用途:

参数价值
skipnameresolve防止DNS慢解析拖死连接
performance_schema诊断锁、慢SQL
innodbprintall_deadlocks排查死锁

⚠【风险提示】 max_connections = 5000 只是上限,不是目标值。 实际生产推荐:

层级推荐值
应用连接池200~400
MySQL max_connections500~800

连接越多 → 上下文切换越重 → 性能反而下降。


3. 架构与 SQL 优化

-- 1. 索引优化:覆盖索引、联合索引 CREATE INDEX idx_covering ON orders(user_id, status, created_at); -- 2. 查询优化:避免SELECT *,使用分页优化 SELECT id, name FROM users WHERE id > ? LIMIT 1000; -- 3. 分区表(MySQL 8.0+) CREATE TABLE logs ( id BIGINT AUTO_INCREMENT, created_at DATETIME, content TEXT, PRIMARY KEY (id, created_at) ) PARTITION BY RANGE COLUMNS(created_at) ( PARTITION p202401 VALUES LESS THAN ('2024-02-01'), PARTITION p202402 VALUES LESS THAN ('2024-03-01') );

🔒【生产级增强】

分页查询在深分页场景要避免:

-- 错误示例(高 offset 会导致全表扫描) SELECT * FROM users LIMIT 1000000, 20;

推荐写法:

SELECT id, name FROM users WHERE id > last_id ORDER BY id LIMIT 20;

4. 本阶段核心结论

第一阶段不是为了“千万 QPS”, 而是为了让 MySQL 成为一个可靠、稳定、可控的底座系统

它决定了:

  • 后面所有缓存、分库、MQ 是否能跑稳
  • 复制延迟是否可控
  • 故障是否可恢复

第二阶段:读写分离

目标:读性能横向扩展,让 MySQL 从“单点瓶颈”变成“可扩展集群”。

🔒【生产级增强说明】

  • Orchestrator:自动选主
  • 中间件自动切换主从
  • 目标:主库宕机 ≤ 5 秒恢复

一、复制策略选择

-- 1. 半同步复制(数据一致性要求高) INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; SET GLOBAL rpl_semi_sync_master_enabled = 1; -- 2. 并行复制(MySQL 5.7+) SET GLOBAL slave_parallel_workers = 8; SET GLOBAL slave_parallel_type = 'LOGICAL_CLOCK'; -- 3. 多源复制(汇总多个业务库) CHANGE MASTER TO MASTER_HOST='source1', MASTER_USER='repl', MASTER_PASSWORD='pass' FOR CHANNEL 'source1';

🔒【生产级增强】

建议配套参数:

slave_parallel_workers = 16 slave_parallel_type = LOGICAL_CLOCK slave_preserve_commit_orde
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 17:02:48

Kubernetes Pod 存储全景图:Volume、PVC、PV 到 CSI 的完整链路解析

适用场景:Kubernetes 存储设计 / 持久化数据 / 动态卷自动化 目录 Kubernetes Volume 概述 基础 Volume 类型 emptyDir、hostPath 网络存储 Volume NFS、云盘示例 PersistentVolume (PV) 与 PersistentVolumeClaim (PVC) 静态配置示例与访问模式 StorageClass 与动态卷配置(以…

作者头像 李华
网站建设 2026/4/8 16:20:46

QLC pSLC模式|超低功耗LDPC解码器

在NAND闪存向高密度、低成本演进的浪潮中,QLC凭借每单元4位的存储密度和亲民的价格,正快速挤占TLC的市场份额。但密度提升的背后,是QLC与生俱来的短板——更长的读写延迟、更低的PE(编程/擦除)循环寿命和更差的可靠性。 为了平衡性能与成本,伪SLC(Pseudo-SLC)模式成为行…

作者头像 李华
网站建设 2026/4/9 20:32:12

为NAND续命:页隔离技术如何让“坏块“重获新生?

当年特斯拉因闪存故障召回15.8万辆Model S和Model X时,整个行业意识到一个被忽视的真相:即便在SSD普及的今天,我们依然深度依赖的NAND Flash闪存,正被耐久性和可靠性两大顽疾困扰。Program/Erase(P/E)循环导致的磨损老化、Cell间干扰引发的错误累积,让大量闪存块提前沦为…

作者头像 李华
网站建设 2026/4/9 19:26:18

强烈安利专科生必看!10个AI论文网站深度测评

强烈安利专科生必看!10个AI论文网站深度测评 2026年专科生必备的AI论文工具测评 随着人工智能技术的不断进步,越来越多的专科生开始借助AI工具提升论文写作效率。然而,面对市场上琳琅满目的AI论文网站,如何选择真正适合自己需求的…

作者头像 李华
网站建设 2026/4/9 19:26:16

当下音乐 / 青漫漫画 / 组词造句:精准踩中需求的实用工具

当下音乐 / 青漫漫画 / 组词造句:精准踩中需求的实用工具 当下音乐是听歌党的 “精准歌单库”。界面没弾窻,按 “某音热歌 / 怀旧金曲” 分类,连小众 BGM 都能抓全,搜关键词直接听,音质清晰还能下载,通勤路…

作者头像 李华
网站建设 2026/4/9 19:26:14

【表盘识别】基于形态学的指针式压力表识别附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

作者头像 李华