show variables like 'innodb_buffer_pool%';//查询缓存区的大小
最近遇到一个客户需要优化CPU的问题,特此记录一下,本人文采不行,所以错误很多,只是日常记录,大神勿喷!
【场景】
客户有一个抽卡片的程序,页面所有的逻辑不清楚,代码部分加密,遇到的问题,有时候CPU100%,导致页面卡死!
【初步问题排查】
有时候Mysql占用过高导致,由于第一次处理这种问题,经验不足,围绕此问题,新人考虑到的方向,有数据过大,但是每个表的数据30万附近,不算特别大,并且卡顿的实际是偶然性的!然后各种度娘,发现mysql Send Data 占用的时间比较多,并且UPDATE容易锁死,所以初步考虑换表类型,原来的表类型MYISAM,换成InnoBDB,具体两种表类型优劣势当时不懂,其实现在也不懂,度娘这么说,换完性能依然不理想!
【再次排查】
换完以后还有卡顿,但是是持续性,然后回头查询是否UPDATE卡死,发现没有,然后开始优化表内容,给字段建立索引,优化COUNT,最后好了!
【学习到的东西】
表的类型,一定要在初期考虑的,后期再改动时候比较麻烦,以后排查卡顿又增加一些经验~~ 特此记录,菜鸟人,菜鸟魂,菜鸟才是最坑人!