【发布时间】:2013-06-13 16:02:23
【问题描述】:
为了优化 magento,我们在 mysql 中启用了慢查询日志。
query_long_time 的理想值是多少,尤其是对于 magento?
【问题讨论】:
标签: mysql magento database-optimization
为了优化 magento,我们在 mysql 中启用了慢查询日志。
query_long_time 的理想值是多少,尤其是对于 magento?
【问题讨论】:
标签: mysql magento database-optimization
默认情况下,我总是将 long_query_time 设置为某个较高的值,例如 60 秒甚至更高。因此,通常的行为将是非常低的开销,因为它不经常写入日志。我当然希望您的大多数查询花费的时间少于 60 秒,但使用 Magento 可能并非如此。 :-)
然后当我想收集日志为analyzed时,我将long_query_time临时更改为0,所以日志包含所有查询。然后在收集完日志后将其重新设置。
我写了一个脚本来帮助自动化这个过程:https://github.com/billkarwin/bk-tools/blob/master/full-slow-log
【讨论】:
long_query_time 参数以秒为单位,因此您可以先将其设置为任意秒数(默认为 10 秒),然后查看日志。如果信号(即慢查询)与噪声(即其他查询)的比率过高,请将其设置为较大的数字以仅记录需要更多时间才能完成的查询。
慢查询日志由执行时间超过
long_query_time秒且至少需要检查min_examined_row_limit行的 SQL 语句组成。long_query_time的最小值和默认值分别为 0 和 10。该值可以指定为微秒的分辨率。对于记录到文件,写入的时间包括微秒部分。对于记录到表,只写入整数次;微秒部分被忽略。
【讨论】: