【问题标题】:What is Ideal value to set for long_query_time in slow query log for magento?在 magento 的慢查询日志中为 long_query_time 设置的理想值是什么?
【发布时间】:2013-06-13 16:02:23
【问题描述】:

为了优化 magento,我们在 mysql 中启用了慢查询日志。

query_long_time 的理想值是多少,尤其是对于 magento?

【问题讨论】:

    标签: mysql magento database-optimization


    【解决方案1】:

    默认情况下,我总是将 long_query_time 设置为某个较高的值,例如 60 秒甚至更高。因此,通常的行为将是非常低的开销,因为它不经常写入日志。我当然希望您的大多数查询花费的时间少于 60 秒,但使用 Magento 可能并非如此。 :-)

    然后当我想收集日志为analyzed时,我将long_query_time临时更改为0,所以日志包含所有查询。然后在收集完日志后将其重新设置。

    我写了一个脚本来帮助自动化这个过程:https://github.com/billkarwin/bk-tools/blob/master/full-slow-log

    【讨论】:

      【解决方案2】:

      long_query_time 参数以秒为单位,因此您可以先将其设置为任意秒数(默认为 10 秒),然后查看日志。如果信号(即慢查询)与噪声(即其他查询)的比率过高,请将其设置为较大的数字以仅记录需要更多时间才能完成的查询。

      来自5.7 Reference Manual

      慢查询日志由执行时间超过 long_query_time 秒且至少需要检查 min_examined_row_limit 行的 SQL 语句组成。 long_query_time 的最小值和默认值分别为 0 和 10。该值可以指定为微秒的分辨率。对于记录到文件,写入的时间包括微秒部分。对于记录到表,只写入整数次;微秒部分被忽略。

      【讨论】:

      • 我已阅读的从 5.1 到 5.7 的所有文档都指出该值以秒为单位,但其分辨率以微秒为单位(即最多 6 位的十进制组件)来自 5.1 手册:“ 5.2.5. 慢查询日志:慢查询日志包含所有执行时间超过 long_query_time 秒的 SQL 语句和(从 MySQL 5.1.21 开始)"
      猜你喜欢
      • 1970-01-01
      • 2012-06-01
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多