OpenStack运行变慢处理

问题


OpenStack运行一段时间后变慢了。登陆horizon变的很慢,与现有硬件环境差距太大,效果甚不理想。

首先,,查看了下apache2日志没什么报错,感觉是认证的问题。执行了keystone user-list 好几秒才返回结果,问题基本定位是keystone问题。

然后,查看mysql数据库,其cpu利用率一直非常高,进入数据库show processlist看了下发现下面语句执行很长时间执行不完:

> use keystone;
> select id,expires,extra,valid from token;

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

关于show processlist具体信息,请参考这里:
http://www.cnblogs.com/JulyZhang/archive/2011/01/28/1947165.html

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


方法建议

1、采用清除token表的方式解决问题
2、Memcached存放Token(貌似我觉得Redis更好)
详情,请参考该文:http://prajnagarden.com/openstack/2013/12/17/keystone-on-the-way/

openstack命令以及dashboard操作非常慢的原因

1、可能服务器负载太高。

2、可能是keystone数据库里的token表太久未清理,表太大。删除较早的token:

delete from token where not DATE_SUB(CURDATE(),INTERVAL 2 DAY)<=expires;(2天前的token)

有时确实token表太大执行这个语句会超时,可以直接删除token表的全部内容:

truncate table token

小结


注意:如果线上用的不要直接清空token,这样不清浏览器缓存有可能会导致登陆不了。
补充:看了下原来nova和quantum的大多数功能都需要验证token,当token数量太多时,导致在数据库查询token时要花费很多时间,而且有些功能牵涉到多个组件,就要多次查询token。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值