清理过期token使Openstack提速

当Openstack的Horizon操作变慢,或mysql数据库CPU使用率高,可能需要清理Keystone数据库中的过期token。Keystone默认用SQL存储token,有效期1天。考虑使用UUID替代PKI以减轻负担,只需在keystone.conf配置并重启服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候你会发现使用Horizon创建或查询数据的速度变慢了,或者mysql占用CPU过高,亦或是备份数据库尤其是备份keystone数据库时耗时太长,这时候你就要考虑清理keystone数据库中的token表了。

Keystone默认使用SQL数据库存储token,在keystone.conf可以看到相关信息。token默认有效期为1天。

[token]
# Provides token persistence.
driver = keystone.token.backends.sql.Token

token的存放还有两个选择。

  • keystone.token.backends.memcache:内存数据库
  • keystone.token.backends.kvs:二元组(键对)
使用memcache虽然速度加快,但耗内存。使用键对速度相对较慢。所以最好的选择还是使用关系数据库,例如mysql。
但是Openstack中的每个组件执行的每次命令(请求),都需要token来验证,这就造成keystone创建了大量的token,随着时间的推移,无效的记录越来越多,企业私有云几天的量就可以几万条、几十万条。这么多无效的token导致针对token表的SQL语句变慢。你可以打开mysql的debug选项然后运行Openstack命令,如果token表非常大,对它的操作会占用大量时间。

Keystone实现了一个小功能就是清理过期的token,命令非常简单,如下:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值