openstack 一段时间后变慢处理

openstack G版装好后一段时间后,登陆horizon就变的很慢。今天感觉慢的让我受不了,点一个按钮就等5-6s,16G内存、4核CPU配置不至于这样,决定查下问题。

首先看了下apache日志没什么报错,感觉像是认证的问题。执行了keystone user-list 好几秒才返回结果,问题基本定位是keystone问题。然后top看了下mysql数据库 cpu利用率一直100%,马上进入数据库show processlist看了下 发现下面语句执行很长时间执行不完:

肯定是token表太大或者没有索引造成,用explain看了下这条sql 一百多万行全文扫描,看了下表内容都是临时认证的token信息,没什么大用直接清空了,然后执行keystone命令很快,清空浏览器缓存后登陆飞快。

上面只是暂时处理方法,线上用我觉得最好加索引,定期备份以前的数据到另外一个表。

由于处理后突然想写写博客也没截图。

注意:如果线上用的不要直接清空token,这样不清浏览器缓存有可能会导致登陆不了。

  补充:看了下原来nova和quantum的大多数功能都需要验证token,当token数量太多时,导致在数据库查询token时要花费很多时间,而且有些功能牵涉到多个组件,就要多次查询token

 

posted on 2013-09-24 12:00  军歌嘹喨  阅读(678)  评论(0编辑  收藏  举报