我正在使用 Linux CentOS 和 MySQL,到目前为止,这是 my.cnf 的内容:
sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER"
max_connections = 750
max_connect_errors = 750
connect_timeout = 28800
max_allowed_packet = 500M
character_set_server = utf8
query_cache_size = 500M
我试图用这些参数提高 MySQL 的性能,我读到其中一些参数已被弃用,因此,我选择 InnoDB 作为引擎并尝试按如下方式设置它:
default_storage_engine = INNODB
innodb_buffer_pool_size=9G
innodb_buffer_pool_instances=64
所以my.cnf的最终设置是:
sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER"
max_connections = 750
max_connect_errors = 750
connect_timeout = 28800
character_set_server = utf8
default_storage_engine = INNODB
innodb_buffer_pool_size=6G
innodb_buffer_pool_instances=64
但最后,服务器在没有使用所有可用内存(3GB/8GB 而不是 6GB/8GB 我期望如何使用 innodb_buffer_pool_size)的情况下过载,我必须重新启动MySQL 服务恢复和规范化服务状态。
如何才能真正提高 MySQL 的性能?或者你能给我哪些建议?
提前,谢谢。
最佳答案
尝试设置 innodb_flush_log_at_trx_commit=2
。可以在此处找到更多信息 https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit
关于mysql - 提高 MySQL 性能 - InnoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48554863/