日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 架構(gòu)師社區(qū)
[導(dǎo)讀]周一早上剛上班,突然大量用戶反饋進(jìn)入網(wǎng)頁(yè)很慢,登錄服務(wù)器一看,Redis調(diào)用時(shí)間嚴(yán)重超時(shí),這樣高速的緩存反而變成了短板,由于數(shù)據(jù)一直沒(méi)有返回,導(dǎo)致了請(qǐng)求響應(yīng)變慢。

來(lái)源:https://www.sevenyuan.cn/


周一早上剛上班,突然大量用戶反饋進(jìn)入網(wǎng)頁(yè)很慢,登錄服務(wù)器一看,Redis調(diào)用時(shí)間嚴(yán)重超時(shí),這樣高速的緩存反而變成了短板,由于數(shù)據(jù)一直沒(méi)有返回,導(dǎo)致了請(qǐng)求響應(yīng)變慢。

網(wǎng)頁(yè)監(jiān)控

通過(guò)阿里的 Grafana 監(jiān)控,服務(wù)器的 CPU 負(fù)載、內(nèi)存、網(wǎng)絡(luò)輸入輸出都挺正常的,所以肯定是 Redis 出現(xiàn)了問(wèn)題。

我們應(yīng)用使用的是單節(jié)點(diǎn)的 32M 16GB 的阿里云 Redis,登錄網(wǎng)頁(yè)監(jiān)控看性能監(jiān)控,發(fā)現(xiàn) CPU 使用情況飆升到100%?。?!

QPS 雖然從 1000 多升到 6000,但是遠(yuǎn)遠(yuǎn)低于極限值,連接數(shù)量從 0 升到 3000,也是遠(yuǎn)遠(yuǎn)低于極限值(可能用戶剛上班,開始有請(qǐng)求,然后響應(yīng)延遲,導(dǎo)致命令隊(duì)列數(shù)量過(guò)多,打開很多連接)。

臨時(shí)方案:先租用一臺(tái)新的 Redis 服務(wù)器,更換應(yīng)用服務(wù)器的 Redis 配置,重啟應(yīng)用,避免影響更多用戶。

然后我們繼續(xù)跟蹤 Redis 的具體情況。

服務(wù)器命令監(jiān)控

登錄 Redis-cli,通過(guò) info 命令查看服務(wù)器狀態(tài)和命令統(tǒng)計(jì),祥哥總結(jié)了兩點(diǎn)異常點(diǎn):

查詢 redis 慢指令 slowlog,排行前十的指令均為keys *,并且耗時(shí)嚴(yán)重,在當(dāng)前業(yè)務(wù)流量下執(zhí)行keys*,一定會(huì)阻塞業(yè)務(wù),導(dǎo)致查詢慢,cpu 高的。值得注意的是應(yīng)用層面沒(méi)有開放keys *接口,不排查有后臺(tái)人為或后臺(tái)程序觸發(fā)該指令。

查看 redis 指令執(zhí)行情況,排除exec,flushall等指令,業(yè)務(wù)使用指令中,耗時(shí)嚴(yán)重的有 setnx 有7.5千萬(wàn)次調(diào)用平均耗時(shí) 6s,setex 有8.4千萬(wàn)次調(diào)用平均耗時(shí)7.33s,del 有2.6億次調(diào)用平均耗時(shí)69s,hmset 有1億次調(diào)用平均耗時(shí) 64s,hmget 有6.8千萬(wàn)次調(diào)用平均耗時(shí) 9s,hgetall 有14億次調(diào)用平均耗時(shí) 205s,keys 有2千萬(wàn)次調(diào)用平均耗時(shí) 3740s。

通常而言,這些指令耗時(shí)與 value 大小呈正比,所以可以排查這些指令相關(guān)的數(shù)據(jù)近期有沒(méi)有較大增長(zhǎng)。或者近期有沒(méi)有業(yè)務(wù)改造,會(huì)頻繁使用上述指令,也會(huì)造成 cpu 高。

通過(guò) info commandstats 可以查看 Redis 命令統(tǒng)計(jì)信息,其中命令格式是

cmdstat_XXX: calls=XXX,usec=XXX,usec_per_call=XXX
調(diào)用次數(shù)、耗費(fèi)CPU時(shí)間、每個(gè)命令平均耗費(fèi)CPU(單位為微秒)

通過(guò) slowlog 命令查看慢命令(默認(rèn)超過(guò) 10ms 就會(huì)被記錄到日志,只會(huì)記錄其命令執(zhí)行的時(shí)間,不包含 IO 往返操作,也不記錄單由網(wǎng)絡(luò)延遲引起的響應(yīng)慢)

(當(dāng)時(shí)也忘了截圖,所以就介紹一下 slowlog 怎么看)

xxxxx> slowlog get 10
 3) 1) (integer) 411           
    2) (integer) 1545386469     
    3) (integer) 232663          
    4) 1) "keys" 2) "mecury:*" 

圖中各字段表示的是:

  • 1=日志的唯一標(biāo)識(shí)符
  • 2=命令的執(zhí)行時(shí)間點(diǎn),以UNIX時(shí)間戳表示
  • 3=查詢命令執(zhí)行時(shí)間,以微妙為單位,中的是230ms
  • 4=執(zhí)行的命令,以數(shù)組的形式排列。完整的命令是 keys mucury:*

所以通過(guò)這些參數(shù),基本可以確定,是突然有大量的keys *命令導(dǎo)致CPU負(fù)載升高,導(dǎo)致響應(yīng)延遲,問(wèn)題我們應(yīng)用中沒(méi)有開放keys *命令Σ(o?д?o?)

最后將這些統(tǒng)計(jì)結(jié)果和慢命令發(fā)到研發(fā)群,發(fā)現(xiàn)是別的應(yīng)用配置配成了我們的Redis,然后他們有個(gè)業(yè)務(wù)場(chǎng)景是爬數(shù)據(jù),突然涌入大量的調(diào)用,不斷的keys *,導(dǎo)致我們的Redis不堪重負(fù),于是將配置修改正確,不再調(diào)用我們的Redis。

總結(jié)

  • Redis 抖動(dòng)可以先看網(wǎng)頁(yè)監(jiān)控(阿里云做的真好!)
  • 通過(guò)命令查看 Redis 指令狀態(tài)和慢命令的情況
  • 考慮優(yōu)化 Redis 在代碼中的使用情況
  • 如果流量繼續(xù)上升,需要考慮一下升級(jí)了=-=

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉