场景描述
您的系统是否有这样的问题?
系统运行缓慢,很多功能需要几十秒才能呈现结果,用户体验极差,领导们不断施压,作为系统的负责人,只知道系统慢又不知道慢在哪里?我们迟迟不能解决问题,领导已经对我们怨声载道了或者已经慢习惯了,不再反馈了。
系统的功能运行缓慢,在生产环境中语句运行时间很长,但是在测试环境或者单独拿出这条语句运行的却很快?这好像不科学呀?
我对数据有较多的了解,我能查出系统的等待,但是我不知道这些等待意味着什么,百度的答案五花八门解决不了我的问题。
我能找到等待,也能解决这部分等待,但只是通过一些脚本,不能全面了解现状,只能东一锤子西一棒子的游击战。
我是专家问题我都能解决,但不能给领导一个直观的展现。
系统等待简介
一个好的SQL语句就好比一辆时速180的好车,好的系统硬件(CPU,内存,磁盘)就好比平坦宽阔的马路。看似好车配好路,一定可以开的很快了!其实还忽略了一点!当你驾驶一辆法拉利跑在北京宽阔的三环上,就算你是老炮中的“三环十二少“,早高峰你能开到多少? 北京的早高峰!北京的早高峰!
这个例子就引出了系统阻塞和等待的概念,红灯(硬件等待,如IO等待),这就是正常的等待。另外一辆车在你前面不走了或开的很慢,那么你也只能等待(也可以说成你被他阻塞了)!
一张图告诉你系统的主要等待类型及解决思路: