我们正在努力提高数据库服务器的效率。
MySQLTunner的建议之一是将innodb_log_file_size增加到12 GB。如我们所见,此更改可以显着提高查询的速度和性能。当我们将此参数增加到超过1 GB时,问题就来了,服务将无法启动,我们将删除日志,将其干净地停止,但仍无法使用高于1 GB的此参数启动。
Someinfo:
mysql Ver 14.14 Distrib 5.5.62, for debian-linux-gnu
innodb_buffer_pool_size = 100G
innodb_file_per_table = ON
innodb_buffer_pool_instances = 64
innodb_stats_on_metadata = OFF
innodb_log_file_size = 1G
innodb_log_buffer_size = 8M
分区中有足够的空间来保持此日志大小
谢谢!
答案 0 :(得分:1)
在该旧版本中更改log_file_size非常棘手。有关步骤,请参见https://dba.stackexchange.com/questions/1261/how-to-safely-change-mysql-innodb-variable-innodb-log-file-size/4103#4103
但是,我预测更改log_file_size不会有太大帮助。 “性能”通常意味着一些缓慢的查询。您是否打开了慢日志?值long_query_time
低吗?找到一些最糟糕的查询;我们可以通过解决它们来提高性能。为此,请执行以下操作:http://mysql.rjweb.org/doc.php/mysql_analysis
答案 1 :(得分:0)
如果更改innodb_log_file_size
参数,则需要删除旧的日志文件。否则,如果现有文件与配置文件中指定的大小不匹配,则Innodb将无法成功启动。
另一方面,如果仅运行InnoDB,则innodb_buffer_pool_size
应该设置为可用RAM的大约70%。
答案 2 :(得分:0)
在MySQL 5.5中,您不能将innodb日志文件的大小增加到超过4GB。 innodb_log_file_size
只能是4GB / innodb_log_files_in_group
(默认为2GB,更改它没有任何好处)。因此,您可以将日志文件设置为最大2GB。
请参见https://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_log_file_size
在5.6.3中,日志文件的最大合并大小增加到512GB。同样,innodb_log_file_size
应该是一个 日志文件的大小,因此,如果您使用多个日志文件,则总数不能超过512GB。
我同意里克·詹姆斯(Rick James)的回答,即增加日志文件的大小并不是使查询运行更快的神奇解决方案。它不会那样做。
有时候增加innodb日志文件的大小很有用,如果瓶颈是日志空间用尽的速度快于将脏页刷新到表空间的速度,因为您的写流量非常高。这受写入速度的影响,而不是单个写入的速度。
对于大多数应用程序,两个2GB日志文件已绰绰有余。如果不是,那么可能是时候运行多个MySQL实例,并尽可能平均地在它们上分配写流量了。