早些时候,我写了一篇关于MySQL性能——慢查询和innodb_buffer_pool_size的博客。我收到了很多邮件,人们想知道更多关于这些参数的信息。让我们来讨论一下配置文件中的5个参数,它们可以帮助MySQL的性能。
innodb_buffer_pool_size
buffer pool中的数据被缓存起来。如果保持较小值那么会使用较多磁盘。保持较大可以避免MySQL多次访问磁盘。我在客户那里看到的一般在6G到10GB间。
max_connections
保持较大值会轻易避免太多连接的错误。然而,如果保持的比服务器所能处理的还要大,又会遇到性能问题。保持足够大是非常关键的,这样可以处理典型的工作负载,相应地应该增加更多的资源。我经常先改变这个,然后再为我的客户调优资源。
query_cache_size
每个人都应该知道,如果这个值设置的很低或很高,性能就会变得很差。然而,我看到很多人都忽略了这个设置。我通常通过查看和设置这个值来开始调优MySQL,并将其设置为0。这意味着这个设置被禁用,我使用其他方法来优化查询。比起这个方法,我通常更喜欢优化索引。
innodb_flush_method
这个设置控制了数据和日志如何从内存刷到磁盘。我通常设置为O_DIRECT来避免双重缓冲,双重缓冲通常会降低服务器性能。
我上面提到的设置与MySQL性能有关,它们可以在配置文件中修改。在Linux中,在 /etc/mysql/my.conf 路径下找到MySQL的配置文件。
然而,在修改生产环境的任意设置之前,我强烈建议你在开发环境中进行测试。你的经验很可能与我的不同,你的服务器需要一个不同的值。
如果喜欢这个博客,不要忘记订阅我的YouTube频道 - SQL in Sixty Seconds。
原文标题:MySQL Performance – 5 Parameters from Config File
原文作者:Pinal Dave
原文地址:https://blog.sqlauthority.com/2021/08/10/mysql-performance-5-parameters-from-config-file/
评论
