您如何解释以下innotop输出?

kno*_*orv 2 mysql database innodb

我正在尝试使用InnoDB存储引擎优化运行MySQL的应用程序.

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
Run Code Online (Sandbox Code Playgroud)

When,Load,QPSSlow是自解释的.

可是你知道QCacheHit,KCacheHit,BpsInBpsOut?一般来说,那些被认为是"好"的价值观,我应该何时开始担心?

小智 14

比率没用.认真.只是忽略它们. http://www.mysqlperformanceblog.com/2010/02/28/why-you-should-ignore-mysqls-key-cache-hit-ratio/

是的,我是innotop的作者.我把这些功能放进去,所以人们会停止问我.

来自文章:

摘要

本文的主要观点:

  • 作为绩效分析指标,计数器比率毫无意义,因为它们是a)b)计数器的比率.
    • 您需要查看绝对量值,而不是比率.
    • 对于性能分析,您需要测量经过的时间,而不仅仅是测量事件发生的次数.
  • 在没有时间信息的情况下,如果您信任缓存的创建者并假设未命中比命中更昂贵,那么您关心缓存未命中,而不是缓存命中.
  • Key_read不保证是随机物理I/O,但它可能是.以10秒或60秒的间隔收集Key_reads/Uptime,并将结果与​​IO系统的功能进行比较.
  • MySQL没有很好的仪器来科学地选择key_buffer_size设置,但是有许多不科学的方法比基于比率的调优更好.
  • 对比率很大,不仅仅是MyISAM调整.

我对这些问题有一些激烈的争论,所以我不认为上述内容会在没有争议的情况下通过.但实际上,是时候停止对反制比率的不好建议了.我们越早做到这一点,我们就能越早开始做更好的事情.