Подтвердить что ты не робот

MySQL медленный журнал запросов - как медленно медленный?

Что вы найдете, это оптимальная настройка для параметра журнала медленных запросов mysql и почему?

4b9b3361

Ответ 1

Я рекомендую эти три строки

log_slow_queries
set-variable = long_query_time=1
log-queries-not-using-indexes

Первый и второй будут регистрировать любой запрос за секунду. Как отмечают другие, запрос на одну секунду довольно ушел, если вы стремитесь к высокой скорости транзакций на своем веб-сайте, но я обнаружил, что он превращает некоторые реальные WTF; запросы, которые должны быть быстрыми, но для любой комбинации данных, с которыми она была выполнена, не было.

Последний будет регистрировать любой запрос, который не использует индекс. Если вы не делаете хранение данных в каком-либо распространенном запросе, должен иметь лучший индекс, который вы можете найти, поэтому обратите внимание на его вывод.

Хотя он, конечно, не для производства, этот последний вариант

log = /var/log/mysql/mysql.log

будет записывать все запросы, что может быть полезно, если вы пытаетесь настроить определенную страницу или действие.

Ответ 2

Независимо от того, какое время/вы/чувствуете себя неприемлемо медленным для запроса в своих системах.

Это зависит от типа запросов, которые вы запускаете, и от типа системы; запрос, занимающий несколько секунд, может не иметь значения, если какая-то система отчетов о состоянии делает сложную обработку данных и т.д., где задержка не имеет значения, но может быть совершенно неприемлемой для системы, ориентированной на пользователя, которая, как ожидается, быстро вернет результаты.

Ответ 3

Установите его так, как вам нравится. Единственная проблема заключается в том, что в запасе MySQL он может устанавливаться только с шагом в 1 секунду, что слишком мало для некоторых людей.

Наиболее часто используемые серверы производства выполняют слишком много запросов для их регистрации. Медленный журнал - это способ фильтрации журнала, чтобы мы могли видеть те, которые занимают много времени (большинство запросов, вероятно, будут выполняться почти мгновенно). Это немного тупой инструмент.

Установите его на 1 секунду, если вам нравится, вы, вероятно, не собираетесь исчерпывать пространство на диске или создавать проблему с производительностью, делая это.

Это действительно связано с риском включения медленного журнала - не делайте этого, если вы считаете, что это может вызвать дополнительные проблемы с диском или производительностью.

Конечно, вы можете включить медленный журнал на непроизводственном сервере и нагрузить имитированную нагрузку, но это никогда не бывает одинаковым.

Ответ 4

Питер Зайцев опубликовал хорошая статья об использовании медленного журнала запросов. Важно отметить, что важно также учитывать, как часто используется определенный запрос. Отчеты, выполняемые один раз в день, не важны, чтобы быть быстрыми. Но что-то, что работает очень часто, может быть проблемой, даже если это занимает полсекунды. И вы не можете обнаружить, что без патча microslow.

Ответ 5

Не только это тупой инструмент, который касается разрешения, но также и MySQL-экземпляр, поэтому, если у вас разные базы данных с различными требованиями к исполнению, вам не повезло. Очевидно, есть способы обойти это, но важно помнить об этом при настройке медленной настройки журнала.

Помимо требований к производительности вашего приложения, еще один фактор, который следует учитывать, - это то, что вы пытаетесь выполнить. Используете ли вы журнал, чтобы улавливать запросы, которые угрожают стабильности вашего экземпляра db (например, которые вызывают взаимоблокировки или декартовы соединения) или запросы, которые влияют на производительность для конкретных пользователей, и для этого может потребоваться небольшая настройка? Это повлияет на установление порога.