欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么提高keystone的效率

本篇內(nèi)容介紹了“怎么提高keystone的效率”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

在譙城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),網(wǎng)絡(luò)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,譙城網(wǎng)站建設(shè)費(fèi)用合理。

寫(xiě)在前面……

最近在測(cè)試OpenStack Havana RDO版本的時(shí)候,發(fā)現(xiàn)過(guò)一段時(shí)間后,整個(gè)平臺(tái)會(huì)變動(dòng)的越來(lái)越慢。剛剛開(kāi)始還沒(méi)什么動(dòng)力去trouble shooting,畢竟就一demo的環(huán)境。昨天居然給讓我無(wú)法訪問(wèn),這就不能忍了,得看看是什么臭蟲(chóng)在搗鬼。

keystne Token的問(wèn)題

無(wú)意中發(fā)現(xiàn)在Nova API調(diào)用的過(guò)程當(dāng)中,在向keystone獲取Token的時(shí)間會(huì)異常的長(zhǎng)。而當(dāng)我剛剛安裝完keystone的時(shí)候,整個(gè)速度還是很不錯(cuò)的。查閱了相關(guān)的資料,發(fā)現(xiàn)Token這塊在數(shù)據(jù)庫(kù)永久存放,而且增長(zhǎng)速度還是很快,對(duì)keystone的數(shù)據(jù)庫(kù)的表分析如下:

切換到MySQL自帶管理庫(kù)information_schema

mysql> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

查看Token的大小:

mysql> select data_length,index_length from tables where table_schema='keystone'
-> and table_name='token';
+-------------+--------------+
| data_length | index_length |
+-------------+--------------+
|   916455424 |     17924096 |
+-------------+--------------+
1 row in set (0.01 sec)

用比較直觀的方式查看:

mysql> select concat(round(sum(data_length/1024/1024),2),'MB') as data_length_MB,
-> concat(round(sum(index_length/1024/1024),2),'MB') as index_length_MB
-> from tables where
-> table_schema='keystone'
-> and table_name='token';
+----------------+-----------------+
| data_length_MB | index_length_MB |
+----------------+-----------------+
| 874.00MB       | 17.09MB         |
+----------------+-----------------+
1 row in set (0.01 sec)

大概兩周的時(shí)間,居然有近1G的數(shù)據(jù),當(dāng)然,1G對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō)也是小case,但如果是一年,這個(gè)數(shù)據(jù)量也是不容忽視的。

在看一下keystone對(duì)于token的配置keystone.conf,主要有幾部分:

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

# Controls the token construction, validation, and revocation operations.
# Core providers are keystone.token.providers.[pki|uuid].Provider
# provider =

# Amount of time a token should remain valid (in seconds)
expiration = 86400

從上述的配置可以token默認(rèn)存放在數(shù)據(jù)庫(kù)中,默認(rèn)過(guò)期時(shí)間為為一天。當(dāng)然,在launchpad上有很多朋友提到用腳本清除數(shù)據(jù)庫(kù)即可。

采用清除token表的方式解決問(wèn)題

這邊的話,也借鑒了一下他們的經(jīng)驗(yàn)去解決這個(gè)問(wèn)題,下面是清除token表的腳本。

#!/bin/bash

mysql_user=
mysql_password=
mysql_host=
#這里大家可以考慮一下清除數(shù)據(jù)的時(shí)間的問(wèn)題,為啥是2天
mysql -u${mysql_user} -p${mysql_password} -h${mysql_host} -e 'USE keystone ; DELETE FROM token WHERE NOT DATE_SUB(CURDATE(),INTERVAL 2 DAY) <= expires;'

當(dāng)然,如果你在清除token的時(shí)候不幸遇到如下的錯(cuò)誤:

ERROR 1205 (HY000) at line 1: Lock wait timeout exceeded; try restarting transaction

只需要增加innodb_lock_wait_timeout的值:

mysql> show variables like 'innodb_lock_wait_timeout';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 50    |
+--------------------------+-------+
1 row in set (0.00 sec)

mysql> set innodb_lock_wait_timeout=100;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'innodb_lock_wait_timeout';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| innodb_lock_wait_timeout | 100   |
+--------------------------+-------+

重新運(yùn)行上面的腳本即可。

當(dāng)然,兄弟們不能每次自己手動(dòng)去服務(wù)器上執(zhí)行這個(gè)腳本,采用crontab+腳本的方式,腳本clearToken.sh。

#!/bin/bash

mysql_user=keystone
mysql_password=********
mysql_host=
mysql=$(which mysql)

logger -t keystone-cleaner "Starting Keystone 'token' table cleanup"

logger -t keystone-cleaner "Starting token cleanup"
mysql -u${mysql_user} -p${mysql_password} -h${mysql_host} -e 'USE keystone ; DELETE FROM token WHERE NOT DATE_SUB(CURDATE(),INTERVAL 2 DAY) <= expires;'
valid_token=$($mysql -u${mysql_user} -p${mysql_password} -h${mysql_host} -e 'USE keystone ; SELECT * FROM token;' | wc -l)
logger -t keystone-cleaner "Finishing token cleanup, there is still $valid_token valid tokens..."

exit 0

crontab的定時(shí)任務(wù):

[root@controller01 keystone]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
0 1 * * * /opt/clearToken.sh

Memcached存放Token

為了給MySQL的token表瘦身,可以后端采用Memcached作為Token的存儲(chǔ)后端。但采用Memcached作為后端的存儲(chǔ)。但Memcached這塊,目前還是有些問(wèn)題:

  • Token在Memcached中是否永久存儲(chǔ)?

  • 當(dāng)Memcached宕機(jī)時(shí),Cache無(wú)法持久化

  • Memcached采用集群復(fù)制,如何去做?

  • Memcached效率如何?

Memcached使用OpenStack

安裝Memcached服務(wù):

yum -y install memcached

修改keystone.conf配置文件:

[token]
driver = keystone.token.backends.memcache.Token

重啟服務(wù):

service memcached restart
service openstack-keystone restart

檢查是否work:

[root@controller01 ~]# lsof -i :11211
COMMAND     PID      USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
keystone-  6658  keystone   10u  IPv4 20381693      0t0  TCP localhost:41865->localhost:memcache (ESTABLISHED)
keystone-  6658  keystone   12u  IPv4 19947698      0t0  TCP localhost:33995->localhost:memcache (ESTABLISHED)
keystone-  6658  keystone   14u  IPv4 20140990      0t0  TCP localhost:37472->localhost:memcache (ESTABLISHED)
keystone-  6658  keystone   20u  IPv4 20333522      0t0  TCP localhost:40973->localhost:memcache (ESTABLISHED)
memcached 28336 memcached  126u  IPv4  3050900      0t0  TCP *:memcache (LISTEN)
memcached 28336 memcached  127u  IPv4  3050902      0t0  UDP *:memcache
memcached 28336 memcached  128u  IPv4 20381696      0t0  TCP localhost:memcache->localhost:41865 (ESTABLISHED)
memcached 28336 memcached  129u  IPv4 19947701      0t0  TCP localhost:memcache->localhost:33995 (ESTABLISHED)
memcached 28336 memcached  130u  IPv4 20140993      0t0  TCP localhost:memcache->localhost:37472 (ESTABLISHED)
memcached 28336 memcached  133u  IPv4 20333525      0t0  TCP localhost:memcache->localhost:40973 (ESTABLISHED)

可以看到keystone已經(jīng)和memcached建立了TCP連接。

可以用telnet查看memcached中的token的信息:

root@controller01 ~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats items
STAT items:9:number 1
STAT items:9:age 19766
STAT items:9:evicted 0
STAT items:9:evicted_nonzero 0
STAT items:9:evicted_time 0
STAT items:9:outofmemory 0
STAT items:9:tailrepairs 0
STAT items:11:number 62
STAT items:11:age 81982
STAT items:11:evicted 0
STAT items:11:evicted_nonzero 0
STAT items:11:evicted_time 0
STAT items:11:outofmemory 0
STAT items:11:tailrepairs 0
STAT items:15:number 1
STAT items:15:age 20365
STAT items:15:evicted 0
STAT items:15:evicted_nonzero 0
STAT items:15:evicted_time 0
STAT items:15:outofmemory 0
STAT items:15:tailrepairs 0
STAT items:17:number 1
STAT items:17:age 20287
STAT items:17:evicted 0
STAT items:17:evicted_nonzero 0
STAT items:17:evicted_time 0
STAT items:17:outofmemory 0
STAT items:17:tailrepairs 0
STAT items:18:number 8558
STAT items:18:age 7675
STAT items:18:evicted 0
STAT items:18:evicted_nonzero 0
STAT items:18:evicted_time 0
STAT items:18:outofmemory 0
STAT items:18:tailrepairs 0
STAT items:22:number 1
STAT items:22:age 81605
STAT items:22:evicted 0
STAT items:22:evicted_nonzero 0
STAT items:22:evicted_time 0
STAT items:22:outofmemory 0
STAT items:22:tailrepairs 0
STAT items:28:number 1
STAT items:28:age 81982
STAT items:28:evicted 0
STAT items:28:evicted_nonzero 0
STAT items:28:evicted_time 0
STAT items:28:outofmemory 0
STAT items:28:tailrepairs 0
STAT items:36:number 1
STAT items:36:age 82020
STAT items:36:evicted 0
STAT items:36:evicted_nonzero 0
STAT items:36:evicted_time 0
STAT items:36:outofmemory 0
STAT items:36:tailrepairs 0
END

stats cachedump 18 100
ITEM token-9be5243e6765408bb67cd73f66367cdd [3827 b; 1387340643 s]
ITEM token-499d93bec0a54ddebdc28ef0941ba7df [3827 b; 1387340702 s]
ITEM token-186a1394b2474c998dafc752fd80d058 [3827 b; 1387340700 s]
ITEM token-3de99c3d4f174d15a1546ce321d1e3a1 [3824 b; 1387340576 s]
ITEM token-fcab58d23ff94369b27a8dc335340028 [3824 b; 1387340697 s]
ITEM token-7092f681ebe34cae9830eba8ae7d45f3 [3824 b; 1387340636 s]
ITEM token-977cf2ab85e54920b3d3b582dabba7d8 [3824 b; 1387340634 s]
ITEM token-49df94c6ef7a4a1582c7539f5829b354 [3824 b; 1387340567 s]
ITEM token-7b1f9646734542d5a30dd0cbc8d1937d [3824 b; 1387340569 s]
……

可以看到,目前items:18存放的是token信息。

“怎么提高keystone的效率”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

本文名稱:怎么提高keystone的效率
本文地址:http://aaarwkj.com/article22/gpjgcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、面包屑導(dǎo)航App設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)公司網(wǎng)站內(nèi)鏈、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
久久亚洲av麻衣北条麻妃| 日本av东京热在线播放| 日本中文字幕一区二区视频 | 中文字幕在线感觉av| 精品亚洲欧美日韩国产| 日本一本一道高清不卡视频| 人妻av天堂综合一区| 国产黄片一区二区在线| 夫妻性生活一级片视频| 国产精品呦呦国产精品尤物| 日韩在线国产精品视频| 人妖伪娘在线观看一区二区三区 | 日韩精品中文字幕影视| 日本中文有码在线观看| 黄色成人av免费看| 色吊丝二区三区中文字幕| 国产精品九九久久精品女同| 亚洲一区二区精品自拍| 日韩一区二区三区成人| 久久成人a毛片免费观看网站| 日本一区二区中文字幕在线| 欧美伊人色综合久久天天| 国产欧美一区二区另类精品| 国产三级av高清一区二区| 在线观看亚洲av日韩av| 岛国毛片在线免费播放| 中文岳妇荡欲丰满肥熟| 亚洲熟女av综合网丁香| 免费亚洲老熟熟女熟女熟女| 亚州无吗一区二区三区| 中文字幕在线五月婷婷| 欧美精品蜜桃激情一区久久| 久久久久久这里都是精品| 亚洲国产欧美日韩综合| 日本道加勒比二三五区视频| 给我搜一个一级黄色片| 国产精品一区二区三区在线| 在线看日本十八禁网站| 18禁黄久久久一区二区三区| 国产日韩亚洲欧美色片| 日本福利资源在线观看|