在CentOS上优化MySQL性能可以从多个方面入手,包括硬件优化、配置参数调整、查询优化等。以下是具体的优化措施:
/etc/my.cnf
或/etc/mysql/my.cnf
,调整以下参数:
innodb_buffer_pool_size
:设置为系统总内存的50%-80%。innodb_log_file_size
和 innodb_log_buffer_size
:分别设置为128M-512M和64M-256M。innodb_flush_log_at_trx_commit
:设置为0、1或2,以平衡性能和数据安全性。max_connections
:根据服务器并发连接数调整,避免过高导致性能下降。open_files_limit
:设置为较大的值,如10240。SELECT *
。swappiness
值(默认是60%,修改为10%),RHEL7/CentOS7以上则慎重设置为0,可能引发OOM。vm.dirty_background_ratio
和vm.dirty_ratio
,以确保能持续将脏数据刷新到磁盘。net.ipv4.tcp_tw_recycle
和net.ipv4.tcp_tw_reuse
都设置为1,减少Time_wait,提高TCP效率。ANALYZE TABLE
和OPTIMIZE TABLE
命令定期分析和优化表。query_cache_size
和query_cache_type
。请注意,优化MySQL并非一劳永逸,需根据业务增长持续调整。建议每次仅修改少数参数并观察效果,避免激进调整引发稳定性问题。