我有一台运行在服务器上的MySql服务器(使用innodb),该服务器托管了多个进程来完成数据库的主要工作。
我没有很多使用MySql调优的经验,但是根据我的理解,这里的一些参数的当前值更相关:
query_cache_size = 16M
query_cache_limit = 1M
#table_cache = 64 (currently commented out)
您认为这些参数应该具有哪些值? 我应该更改任何其他参数(我当前的参数设置是默认值)?
谢谢!
答案 0 :(得分:3)
最常用的调整参数。
key_buffer_size:
query_cache_size
tmp_table_size
innodb_buffer_pool_size
innodb_additional_mem_pool_size
innodb_log_buffer_size
max_connections
sort_buffer_size
read_buffer_size
read_rnd_buffer_size
join_buffer_size
答案 1 :(得分:1)
这取决于您的数据库以及针对它的查询。你可以使用mysql_tuner来简要检查你的数据库需要什么。
答案 2 :(得分:0)
我总是调整以下参数:
query_cache_size
tmp_table_size
innodb_buffer_pool_size
max_connections
back_log
如何设置参数?这取决于您的工作量和服务器。 如果您的服务器有足够的内存,则应设置innodb_buffer_pool_size更多。 而且,如果您具有较高的并发性,则还应该提供更多的max_connections。 同时,有一些公式,例如:
back_log = max_connections / 5 + 50
如果您没有经验,我在这里建议您阅读以下文档或使用自动工具:
https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
https://github.com/yahoo/mysql_perf_analyzer
https://github.com/major/MySQLTuner-perl
最后,调整风险很大,也许您可以选择RDS(关系数据库服务)。