/etc/sysctl.conf,调整net.core.somaxconn(连接队列)、vm.swappiness(减少内存交换)、tcp_max_syn_backlog(TCP连接回收)等参数。/etc/security/limits.conf中增加nofile(文件描述符)限制,避免连接数受限。innodb_buffer_pool_size为物理内存的50%-80%,优化innodb_log_file_size(建议256-512MB)和innodb_flush_log_at_trx_commit(设为2提升写入性能,牺牲部分持久性)。max_connections(根据并发量)、innodb_io_capacity(匹配磁盘性能,如SSD设为2000)。SELECT *,使用EXPLAIN分析慢查询,减少JOIN操作,添加LIMIT分页。OPTIMIZE TABLE释放碎片,ANALYZE TABLE更新统计信息。MySQLTuner、Percona Toolkit或Prometheus+Grafana监控数据库负载、慢查询等指标。注意:所有优化前需备份数据,测试环境验证后再应用到生产环境。
参考来源: