MySQL 高并发场景下的性能优化

MySQL 高并发场景下的性能优化 MySQL 的性能优化并不是简单地给表增加几个索引。 在真实的高并发系统中,数据库性能通常受到多个因素共同影响: 应用请求 ↓ 数据库连接 ↓ SQL 执行 ↓ 索引 ↓ Buffer Pool ↓ 锁 / 事务 ↓ 磁盘 I/O 当并发量继续增加以后,还会遇到: 连接数过高 SQL 执行时间增加 锁竞争 事务堆积 Buffer Pool 压力 磁盘 I/O CPU 使用率 Redo Log 压力 因此,高并发 MySQL 优化应该从整个访问链路出发,而不是只盯着 SQL。 1. 高并发下 MySQL 为什么容易成为瓶颈 假设一个系统每秒有: 5000 QPS 其中: 80% 查询 20% 写入 那么数据库每秒需要处理: 4000 次查询 1000 次写入 如果单条 SQL 平均执行: 10 ms 看起来并不算慢。 但当大量请求同时进入数据库后,数据库真正面对的是: 大量连接 ↓ 大量 SQL ↓ 大量索引访问 ↓ 大量数据页 ↓ 大量事务 ↓ 锁竞争 ↓ 磁盘 / CPU / 内存压力 因此:...

2024年07月19日 · 4 min · Leanku