以下是Ubuntu下提升MySQL性能的关键方法:
/etc/sysctl.conf
,增加net.ipv4.tcp_tw_reuse
、vm.swappiness=0
(减少swap使用)。innodb_buffer_pool_size
:设置为服务器内存的50%-80%(默认128MB需显著提升)。innodb_log_file_size
:建议256MB-1GB(默认48MB易导致频繁刷盘)。max_connections
:根据并发量调整(默认151,可增至500-1000)。SELECT *
,只查询必要字段;用JOIN
替代子查询。EXPLAIN
分析执行计划,确保索引被正确使用(重点关注type
≥range
、key
非NULL
)。INT
替代VARCHAR
存储数字)。OPTIMIZE TABLE
整理碎片,或使用ANALYZE TABLE
更新统计信息。SHOW PROCESSLIST
查看慢查询,SHOW STATUS
监控缓存命中率。MySQLTuner
或Percona Toolkit
分析配置合理性。slow_query_log=1
),定位低效SQL。注意:修改配置后需重启MySQL服务,建议先在测试环境验证效果。
参考来源:[1,2,3,4,5,6,7,8,9,10]