Как бы вы интерпретировали следующий вывод innotop? - PullRequest
2 голосов
/ 15 декабря 2010

Я пытаюсь оптимизировать приложение под управлением MySQL с механизмом хранения InnoDB.

При запуске innotop в рабочей среде я получаю следующий вывод:

When   Load  QPS     Slow  QCacheHit  KCacheHit  BpsIn   BpsOut 
Now    0.00   87.80     0     41.21%    100.00%  11.51k  836.42k
Total  0.00  105.50   190     15.04%     99.34%  13.23k  692.85k

When, Load, QPS и Slow говорят сами за себя.

А как же QCacheHit, KCacheHit, BpsIn и BpsOut? В общем, что для них считается «нормальными» значениями и когда мне следует начать беспокоиться?

Ответы [ 2 ]

14 голосов
/ 06 мая 2011

Соотношения бесполезны.Шутки в сторону.Просто игнорируй их.http://www.mysqlperformanceblog.com/2010/02/28/why-you-should-ignore-mysqls-key-cache-hit-ratio/

Да, я автор innotop.Я включил эти функции, чтобы люди перестали меня спрашивать.

Из статьи:

Резюме

Основные моменты в этой статье:

  • Коэффициенты счетчиков не имеют смысла как метрика анализа производительности, потому что они являются а) коэффициентами б) счетчиков.
    • Вам нужно смотреть на абсолютную величину, а не на отношения.
    • Для анализа производительности вам нужно измерять прошедшее время, а не только количество раз, когда что-то происходит.
  • При отсутствии информации о времени и если вы доверяетесоздатель кэша и предположите, что пропуски дороже, чем попадания, тогда вы заботитесь о промахах кэша, а не о попаданиях в кеш.
  • Key_read не обязательно является случайным физическим вводом-выводом, но это может быть.Соберите Key_reads / Uptime через 10-секундные или 60-секундные интервалы и сравните результаты с возможностями вашей системы ввода-вывода.
  • MySQL не имеет хороших инструментов для научного выбора параметра key_buffer_size, но есть много ненаучных подходов, которыелучше, чем основанная на соотношении настройка.
  • Счетные отношения - это отстой для всего, а не только для настройки MyISAM.

У меня были жаркие споры по этим вопросам, поэтому я неНе ожидайте, что вышесказанное пройдет без споров.Но на самом деле, пришло время остановиться на плохом совете о встречных коэффициентах.Чем раньше мы это сделаем, тем скорее сможем перейти к лучшему.

2 голосов
/ 15 декабря 2010

QCacheHit - это процент времени обращения к кэшу запроса .KCacheHit - это процент времени обращения к пулу буферов innodb (аналогично ключевому буферу ).BpsIn - это число байтов, поступающих на ваш сервер, BpsOut - это количество байтов, выводимых.

QCacheHit должно быть относительно высоким, если вы используете кэш запросов.Ваши ставки кажутся низкими.KCacheHit также должен быть относительно высоким, и вы в хорошей форме.

BpsIn/Out на самом деле не имеет значения, если вы не пытаетесь оптимизировать объем данных, отправляемых / получаемых вашим сервером.

...