我有一个专用服务器 - 带有8GB RAM和2 x 500GB 7200RMP硬盘的Intel Xeon L5320
我需要优化mysql以应对大型5Gb MyISAM表+大约25-30个较小的数据库,目前看起来像这样:
key_buffer = 3G
thread_cache_size = 16
table_cache = 8192
query_cache_size = 512M
因为它是服务器真的很难,我得到继续tmp磁盘完全警告你能帮我/建议我的服务器和任何其他设置更改,以改善性能的最佳my.cnf配置。
提前致谢
答案 0 :(得分:1)
如果/tmp
正在填满,那么您正在某些地方运行一些大而低效的查询,这些查询将回退到FILESORT。编写良好,高效的查询通常不需要这样 - 打开慢速查询记录(如果还没有)并检查日志以查看需要优化的内容。
答案 1 :(得分:1)
我建议您使用 mytop 和 mysqltuner 来分析使用mysql资源(RAM和CPU)。
太多启用选项以记录慢查询:
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 3
查看这篇关于 ntpd 服务的帖子:
最后,我将您留在一个设置中,我有一个专用服务器,用于高交易率。
max_allowed_packet=16M
key_buffer_size=8M
innodb_additional_mem_pool_size=10M
innodb_buffer_pool_size=512M
join_buffer_size=40M
table_open_cache=1024
query_cache_size=40M
table_definition_cache=256
innodb_additional_mem_pool_size=10M
key_buffer_size=16M
max_allowed_packet=32M
max_connections = 300
query_cache_limit = 10M
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 3
问候。