• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

show innodb status有关Spin Waits,Spin Rounds,Os Waits是怎么解释的

mysql 搞代码 7年前 (2018-06-02) 153次浏览 已收录 0个评论

show innodb status有关Spin Waits,Spin Rounds,Os Waits是如何解释的
show innodb status有关Spin Waits,Spin Rounds,Os Waits是如何解释的。谢谢

——解决方案——————–
http://www.mysqlperformanceblog.com/2011/09/02/understand-innodb-spin-waits-win-a-percona-live-ticket/
——解决方案——————–
Innodb在获得mutex时是两阶段的。如果Mutex被别人锁住了,那么它并不会像教科书里面的那样,直接就sleep等待被唤醒了。而是先做一个循环,不断去获取mutex锁,称之为spin-wait,然后才sleep。因为sleep等待被唤醒的代价还是比较高的。通过spin-wait,可以明显降低这个开销。

 

•Mutex spin waits 5870888 这个代表的是线程获得锁,但是被别人锁住了。所以它得首先spin-wait。
•rounds 19812448 是线程在spin-wait循环检查mutex是否已经释放的探测次数。
•OS waits 375285 是spin-wait完成以后,还是没有获得mutex,不得不sleep的次数。
这个主要是评估mutex 获取不到的比例。

这里请求mutex不到的情况是 5870888,但是经过spin-wait,实际上最终只有375285次。也就是说只有60%需要真正sleep,40%稍微等一下就能拿到mutex.


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:show innodb status有关Spin Waits,Spin Rounds,Os Waits是怎么解释的
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址