2008-09-18 4 views

ответ

18

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

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

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

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

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

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

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

+0

Не знал о log-queries-not-using-indexes, спасибо! – Subimage 2008-09-18 17:40:20

4

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

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

3

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

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

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

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

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

+0

вы можете установить его на микросекундах. – phirschybar 2015-06-01 14:34:12

1

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

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

3

Peter Zaitsev разместил nice article об использовании медленного журнала запросов.Важно отметить, что важно также учитывать, как часто используется определенный запрос. Отчеты, выполняемые один раз в день, не важны, чтобы быть быстрыми. Но что-то, что работает очень часто, может быть проблемой, даже если это занимает полсекунды. И вы не можете обнаружить, что без патча microslow.

Смежные вопросы