我们在生产环境中使用MySql 5.5。是否可以在生产中打开慢速查询日志?这样做的表现意味着什么?我提到了官方文档here,但它没有提及性能。
答案 0 :(得分:6)
我强烈建议在生产环境中打开慢速查询日志。无论您在dev / QA / pre-prod环境中完成了多少日志记录,没有什么比生产环境更能让您更好地了解真正的性能。根据我的经验,性能影响并不显着。
通过将慢速查询日志保存在其他磁盘或磁盘阵列上,可以提高性能(如果它变得很重要)。
long_query_time
动态变量帮助MySQL确定在慢查询日志中写入的内容。如果您的long_query_time
是2秒,你看到被记录在慢速查询日志的查询一大堆,你可以提高long_query_time
使用类似的SET GLOBAL long_query_time=10
或改变它在my.cnf并重启MySQL。
我更喜欢将long_query_time保持大约3秒钟来启动并查看记录的内容,并及时解决缓慢问题。之后我把它降到2秒并保持在那里。记录是一回事,但对日志记录采取行动 - 可能是解决长时间运行的查询,使用iostat -x
或sar
等监控IO - 至关重要。
答案 1 :(得分:0)
我从未在使用慢查询日志时发现任何性能损失,因此我认为将其打开是保存的。数据库只保留一个额外的日志文件,它将存储超过某个运行时的查询(可配置)。您可以在此之后分析慢查询,例如做一个
EXPLAIN SELECT ... FROM ...