【Azure Redis 緩存】Azure Redis出現(xiàn)了超時問題后全陨,記錄一步一步的排查出異常的客戶端連接和所執(zhí)行命令的步驟

問題描述

Azure Redis在使用的過程中痴晦,多次無規(guī)律的出現(xiàn)超時問題儒陨。抓取到客戶端的異常錯誤后花嘶,想進(jìn)一步的分析是何原因?qū)е铝巳缦庐惓D兀?/p>

Timeout awaiting response (outbound=0KiB, inbound=0KiB, 5984ms elapsed, timeout is 5000ms), command=GET, 
next: GET n:AbpZeroMultiTenantLocalizationDictionaryCache,c:HMedia#zh-CN#0, 
inst: 0, qu: 0, qs: 498, aw: False, rs: ReadAsync, ws: Idle, in: 65536, 
serverEndpoint: xxxxxx-cache.redis.cache.chinacloudapi.cn:6380, 
mc: 1/1/0, mgr: 10 of 10 available, clientName: RD0003FF04A4F7, 
IOCP: (Busy=70,Free=930,Min=250,Max=1000), 
WORKER: (Busy=430,Free=32337,Min=400,Max=32767), v: 2.1.58.34321
No alt text provided for this image

官方文檔對該類問題的解釋為:


No alt text provided for this image

雖然這里Busy大于Min的Worker數(shù)量,表示目前客戶端中所設(shè)置的ThreadPool值不夠用蹦漠,需要做一定的調(diào)整椭员。但是這并不是Redis出現(xiàn)持續(xù)超時的根本原因,還是需要繼續(xù)排查是否有某一方面達(dá)到了性能的限制呢津辩?

問題分析

  • 第一步:分析Azure Redis的各種指標(biāo)拆撼,查看在超時時間點(diǎn)是否有突增的尖峰。
  • 第二步:對比尖峰值喘沿,查看是否有突破當(dāng)前定價層的閾值闸度。
  • 第三步:查看Redis日志,發(fā)現(xiàn)不常規(guī)的點(diǎn)蚜印。使用各種已知的命令來輔助調(diào)查莺禁。
  • 第四步:如何來避免呢?

根據(jù)以上的四步原則窄赋。查看Azure Redis的指標(biāo)哟冬,發(fā)現(xiàn)網(wǎng)絡(luò)的讀寫出現(xiàn)尖峰。指標(biāo)圖類似于:


No alt text provided for this image
  • 緩存讀取量:指定報告間隔期間忆绰,從緩存中讀取的數(shù)據(jù)量浩峡,以每秒兆字節(jié)數(shù)(MB/秒)為單位。 此值來源于支持虛擬機(jī)的網(wǎng)絡(luò)接口卡错敢,該虛擬機(jī)托管緩存翰灾,但并不特定于 Redis。 此值對應(yīng)于該緩存使用的網(wǎng)絡(luò)帶寬。如果要針對服務(wù)器端網(wǎng)絡(luò)帶寬限制設(shè)置警報纸淮,則可使用此 Cache Read 計(jì)數(shù)器來創(chuàng)建警報平斩。
  • 緩存寫入量:指定報告間隔期間,寫入緩存中的數(shù)據(jù)量咽块,以每秒兆字節(jié)數(shù)(MB/秒)為單位绘面。 此值來源于支持虛擬機(jī)的網(wǎng)絡(luò)接口卡,該虛擬機(jī)托管緩存侈沪,但并不特定于 Redis揭璃。 此值對應(yīng)于從客戶端發(fā)送到緩存的數(shù)據(jù)的網(wǎng)絡(luò)帶寬。

但是峭竣,只查看主節(jié)點(diǎn)的流量(注:Azure Redis有兩個節(jié)點(diǎn)塘辅,一主一從),寫入流量(409KB)與上圖中的38.07MB卻存在巨大的差別, 難到這是有連接直接操作從節(jié)點(diǎn)皆撩,而不通過主節(jié)點(diǎn)扣墩?


No alt text provided for this image

#根據(jù)以下步驟,就可以查看到從節(jié)點(diǎn)的網(wǎng)絡(luò)寫入扛吞,讀取指標(biāo)圖:

1)在Azure Redis的門戶中呻惕,打開Metrics頁面, 選取name space為Redis Cache standard metrics


No alt text provided for this image

2)Metric 選取Cache Write (Instance Based)


No alt text provided for this image

3)添加Filter滥比,Primary = False


No alt text provided for this image

4)啟用Apply Splitting亚脆,按照端口細(xì)分


No alt text provided for this image

#如果發(fā)現(xiàn)從節(jié)點(diǎn)有大量的流量操作,已經(jīng)嚴(yán)重影響主節(jié)點(diǎn)的正常指令執(zhí)行

這個時候盲泛,就需要跟進(jìn)一步的分析濒持,是那些客戶端連接到Redis?它們執(zhí)行命令的次數(shù)有多少呢寺滚?它們執(zhí)行了那些命令呢柑营?

可以通過Redis-cli.exe工具連接到Redis后,通過 client list 當(dāng)前的客戶端連接情況和IP地址村视,已經(jīng)通過numops查看當(dāng)前連接已經(jīng)執(zhí)行的OPS官套。然后通過 monitor 指令實(shí)時監(jiān)控命令的執(zhí)行和所發(fā)出請求的IP地址

  1. 使用 redis-cli.exe連接到Azure Redis服務(wù)
redis-cli.exe -h yourcachename.redis.cache.chinacloudapi.cn -p 6379 -a YourAccessKey
  1. 使用 client list 查看你連接數(shù)和 numops數(shù) (實(shí)時)


    No alt text provided for this image
  2. 使用monitor指令監(jiān)控所執(zhí)行的命令(實(shí)時)


    No alt text provided for this image

#如何來避免其他非法的連接呢?對IP地址進(jìn)行限制蚁孔,設(shè)置白名單奶赔。或者啟用內(nèi)網(wǎng)訪問 或者啟用專用終結(jié)點(diǎn)

No alt text provided for this image

[完]

參考資料

排查 Azure Cache for Redis 超時問題:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-troubleshoot-timeouts

將 Redis 命令行工具與 Azure Redis 緩存配合使用:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-redis-cli-tool#connect-using-the-redis-command-line-tool

Azure數(shù)據(jù)中心各資源的IP地址列表:https://www.microsoft.com/en-us/download/details.aspx?id=57062

Redis Private Endpoint:https://docs.microsoft.com/zh-cn/azure/azure-cache-for-redis/cache-private-link

Redis部署至VNET:https://docs.microsoft.com/zh-cn/azure/azure-cache-for-redis/cache-how-to-premium-vnet

當(dāng)在復(fù)雜的環(huán)境中面臨問題杠氢,格物之道需:濁而靜之徐清站刑,安以動之徐生。 云中鼻百,恰是如此!

分類: 【Azure Redis 緩存】

標(biāo)簽: Timeout awaiting response, redis-cli, Azure Redis

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笛钝,一起剝皮案震驚了整個濱河市质况,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌玻靡,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件中贝,死亡現(xiàn)場離奇詭異囤捻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)邻寿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門蝎土,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绣否,你說我怎么就攤上這事誊涯。” “怎么了蒜撮?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵暴构,是天一觀的道長。 經(jīng)常有香客問我段磨,道長取逾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任苹支,我火速辦了婚禮砾隅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘债蜜。我一直安慰自己晴埂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布寻定。 她就那樣靜靜地躺著儒洛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪特姐。 梳的紋絲不亂的頭發(fā)上晶丘,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天,我揣著相機(jī)與錄音唐含,去河邊找鬼浅浮。 笑死,一個胖子當(dāng)著我的面吹牛捷枯,可吹牛的內(nèi)容都是我干的滚秩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼淮捆,長吁一口氣:“原來是場噩夢啊……” “哼郁油!你這毒婦竟也來了本股?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤桐腌,失蹤者是張志新(化名)和其女友劉穎拄显,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體案站,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡躬审,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蟆盐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片承边。...
    茶點(diǎn)故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖石挂,靈堂內(nèi)的尸體忽然破棺而出博助,到底是詐尸還是另有隱情,我是刑警寧澤痹愚,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布富岳,位于F島的核電站,受9級特大地震影響里伯,放射性物質(zhì)發(fā)生泄漏城瞎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一疾瓮、第九天 我趴在偏房一處隱蔽的房頂上張望脖镀。 院中可真熱鬧,春花似錦狼电、人聲如沸蜒灰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽强窖。三九已至,卻和暖如春削祈,著一層夾襖步出監(jiān)牢的瞬間翅溺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工髓抑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咙崎,地道東北人。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓吨拍,卻偏偏與公主長得像褪猛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子羹饰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容