[英]MySql slow query logs in production environment
我强烈建议在生产环境中打开慢查询日志。 无论您在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 -x
或sar
等监视IO)至关重要。
我从未发现使用慢查询日志会对性能造成任何不利影响,因此我认为将其打开是很省钱的。 数据库仅保留一个额外的日志文件,它将在其中存储超过特定运行时间(可配置)的查询。 之后,您可以分析慢速查询,例如通过
EXPLAIN SELECT ... FROM ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.