innodb_buffer_pool_size:这是 MySQL 性能的生命线。你需要把它设置为服务器物理内存的 60%~80%。你的配置里完全没有这一项,意味着 MySQL 只能用默认值,这是性能瓶颈的主要原因。这块内存用来缓存数据和索引,越大,硬盘读写得就越少,速度就越快。
innodb_log_file_size:这个是重做日志(Redo Log)的大小。你的配置里也没有,用的是默认值(通常只有48MB),会在高并发写入时频繁触发日志切换,直接影响写入性能。建议直接调到 2G 会好很多。
max_connections:你原来的 3000 确实有点高。每个连接都会消耗内存,设置太高没用,反而容易导致内存溢出(OOM)。建议先用 500,然后根据实际监控(比如看最大使用连接数)再决定要不要往上调。
innodb_flush_method:推荐改为 O_DIRECT。这样可以跳过操作系统的文件系统缓存,让 InnoDB 自己管理数据,能减少内存浪费,也避免了数据刷盘时的性能波动。
