繁体   English   中英

生产环境中的MySQL慢查询日志

[英]MySql slow query logs in production environment

我们在生产环境中使用MySql 5.5。 是否建议在生产中打开慢速查询日志? 这样做的性能含义是什么? 在这里提到了官方文档,但是没有提到性能。

我强烈建议在生产环境中打开慢查询日志。 无论您在dev / QA / pre-prod环境中进行了多少日志记录,都没有比生产环境更好地了解真实性能了。 根据我的经验,对性能的影响并不明显。

通过将缓慢的查询日志保存在其他磁盘或磁盘阵列上,可以提高性能(如果变得很重要)。

long_query_time动态变量可帮助MySQL确定在慢速查询日志中写入什么内容。 如果long_query_time为2秒,并且在慢速查询日志中看到一堆查询,则可以使用SET GLOBAL long_query_time=10类的方法提高long_query_time或在my.cnf中进行更改,然后重新启动MySQL。

我更喜欢将long_query_time保持在3秒钟左右以启动并查看记录了什么,并及时解决运行缓慢的问题。 之后,我将其降低到2秒并保持在该位置。 日志记录是一回事,但是对日志记录采取措施(可能是解决长期运行的查询,使用iostat -xsar等监视IO)至关重要。

我从未发现使用慢查询日志会对性能造成任何不利影响,因此我认为将其打开是很省钱的。 数据库仅保留一个额外的日志文件,它将在其中存储超过特定运行时间(可配置)的查询。 之后,您可以分析慢速查询,例如通过

EXPLAIN SELECT ... FROM ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM