日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

异步请求积压可视化|如何 1 分钟内快速定位函数计算积压问题

發(fā)布時(shí)間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 异步请求积压可视化|如何 1 分钟内快速定位函数计算积压问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者 | 千風(fēng)

本文分為三個(gè)部分:概述中引入了積壓問題,并介紹了函數(shù)計(jì)算異步調(diào)用基本鏈路;并在指標(biāo)介紹部分詳細(xì)介紹了指標(biāo)查看方式,分類解讀了不同的指標(biāo)含義;最后以一個(gè)常見的異步請(qǐng)求積壓場(chǎng)景為例,介紹如何在 1 分鐘內(nèi)快速定位積壓問題。

為異步調(diào)用保駕護(hù)航

使用函數(shù)計(jì)算異步調(diào)用的開發(fā)者最關(guān)心的問題是:調(diào)用請(qǐng)求能否在預(yù)期的時(shí)間內(nèi)被處理完成。若沒能處理完成,那么在客戶眼中就是異步調(diào)用請(qǐng)求積壓了,然而基于之前函數(shù)計(jì)算異步調(diào)用指標(biāo)體系,無論是定位積壓,還是查看積壓,過程都是十分繁瑣的。

針對(duì)以上問題,函數(shù)計(jì)算推出了一系列異步調(diào)用請(qǐng)求積壓相關(guān)的指標(biāo),能夠幫助用戶快速定位請(qǐng)求積壓,向用戶展示積壓量化值。本文將詳細(xì)介紹如何通過這些監(jiān)控指標(biāo)快速定位到函數(shù)異步調(diào)用出現(xiàn)的積壓問題,為各位開發(fā)者講解升級(jí)后的異步調(diào)用指標(biāo)體系。

在開始之前,先簡單介紹下函數(shù)計(jì)算異步調(diào)用。

異步調(diào)用是函數(shù)計(jì)算調(diào)用函數(shù)的一種方式,通過異步調(diào)用你不僅可以確保函數(shù)會(huì)至少執(zhí)行一次,還可以保存調(diào)用執(zhí)行過程中的狀態(tài)轉(zhuǎn)換信息和執(zhí)行結(jié)果,其調(diào)用鏈路如下所示:

用戶/事件源發(fā)起異步調(diào)用請(qǐng)求后會(huì)立刻返回本次請(qǐng)求 ID,隨后函數(shù)計(jì)算系統(tǒng)將本次調(diào)用的相關(guān)信息轉(zhuǎn)換為消息的格式,放入 MNS 消息隊(duì)隊(duì)列中供系統(tǒng)內(nèi)下游模塊消費(fèi),下游模塊會(huì)基于解析出來的調(diào)用消息進(jìn)行函數(shù)調(diào)用。

調(diào)用完成后,如果函數(shù)配置了 Destination,則系統(tǒng)會(huì)基于調(diào)用結(jié)果以及 Destination 內(nèi)容進(jìn)行進(jìn)一步處理,Destination 相關(guān)內(nèi)容介紹請(qǐng)參考異步調(diào)用文檔:

https://help.aliyun.com/document_detail/181866.html

指標(biāo)升級(jí)

升級(jí)后的函數(shù)計(jì)算異步調(diào)用鏈路監(jiān)控指標(biāo)主要新增了如下幾類:

下面我們將對(duì)上述指標(biāo)進(jìn)行詳細(xì)解讀。

指標(biāo)查看

目前可以通過函數(shù)計(jì)算控制臺(tái)或者 Serverless Devs 工具這兩種方式查看函數(shù)的監(jiān)控指標(biāo)大盤,下面我們將以控制臺(tái)為例,指導(dǎo)大家如何查看異步調(diào)用鏈路相關(guān)的監(jiān)控指標(biāo),基于 Serverless Devs 的查看方式可以參考:

https://github.com/devsapp/fc/blob/main/docs/zh/command/metrics.md

下面介紹的步驟前提是已開通了函數(shù)計(jì)算服務(wù);且成功創(chuàng)建了服務(wù)以及函數(shù),如果還未進(jìn)行這些操作,請(qǐng)參考使用控制臺(tái)創(chuàng)建函數(shù):

https://help.aliyun.com/document_detail/51783.html

首先打開函數(shù)計(jì)算控制臺(tái),點(diǎn)擊左側(cè)監(jiān)控大盤標(biāo)簽,滑倒底部,可以查看到該地域所有服務(wù)的異步調(diào)用處理情況以及異步消息處理平均延時(shí)概覽表格:

此時(shí)我們點(diǎn)擊任意一個(gè)服務(wù)名稱,進(jìn)入后,可以看到該服務(wù)下所有函數(shù)的異步調(diào)用處理情況;以及異步消息處理平均延時(shí)概覽表格:

接下來我們點(diǎn)擊任意一個(gè)函數(shù)名稱,進(jìn)入后可以看到所有函數(shù)緯度的監(jiān)控指標(biāo),并以圖的形式展示:

至此,我們已經(jīng)學(xué)會(huì)了這些指標(biāo)的查看途徑。下面繼續(xù)為各位開發(fā)者介紹解讀上述異步鏈路相關(guān)指標(biāo)。

指標(biāo)解讀

我們將根據(jù)不同的指標(biāo)類型對(duì)監(jiān)控指標(biāo)進(jìn)行分類解讀。

異步調(diào)用處理情況

異步請(qǐng)求入隊(duì)

異步調(diào)用中,到達(dá)函數(shù)計(jì)算的請(qǐng)求數(shù),當(dāng)入隊(duì)請(qǐng)求數(shù)大于請(qǐng)求處理完成數(shù)時(shí),表示有請(qǐng)求積壓,函數(shù)處理異步請(qǐng)求的速度小于異步請(qǐng)求發(fā)起的速度。請(qǐng)調(diào)整函數(shù)彈性伸縮(含預(yù)留資源)上限,參考:

https://help.aliyun.com/document_detail/185038.html#task-2538034

或可釘釘搜索加入阿里函數(shù)計(jì)算官網(wǎng)客戶群(11721331)聯(lián)系我們進(jìn)行處理圖片。

異步請(qǐng)求處理完成

異步調(diào)用中,函數(shù)計(jì)算處理完成的請(qǐng)求數(shù),異步請(qǐng)求處理完成數(shù)量,應(yīng)始終不大于異步請(qǐng)求入隊(duì)的數(shù)量。

異步請(qǐng)求積壓數(shù)

已經(jīng)到達(dá)函數(shù)計(jì)算的異步請(qǐng)求中,等待處理以及正在處理中的請(qǐng)求統(tǒng)一視為積壓請(qǐng)求, 這些請(qǐng)求的數(shù)量為異步消息積壓數(shù),當(dāng)這個(gè)值不為 0 時(shí),表示異步調(diào)用請(qǐng)求是有積壓的。

該指標(biāo)將異步調(diào)用請(qǐng)求積壓量化,解決積壓數(shù)不可見問題,極大提高了異步調(diào)用的可觀測(cè)性,也是本次升級(jí)的重要內(nèi)容之一。

異步請(qǐng)求處理延遲

平均處理時(shí)延

函數(shù)異步調(diào)用請(qǐng)求從進(jìn)入處理隊(duì)列到開始處理的時(shí)延,按指定時(shí)間粒度統(tǒng)計(jì)求平均值。當(dāng)該值高于預(yù)期時(shí),表明函數(shù)異步調(diào)用請(qǐng)求可能存在積壓。

“異步請(qǐng)求入隊(duì)”、“異步請(qǐng)求處理完成” 以及 “平均處理延時(shí)” 這三個(gè)指標(biāo)被放置在監(jiān)控大盤的概覽圖表中,旨在幫助用戶快速定位到出現(xiàn)積壓的函數(shù),解決積壓定位難的問題。

1 分鐘定位積壓問題

在之前的異步調(diào)用指標(biāo)體系下,如果想要定位積壓問題,首先需要找到積壓函數(shù),此時(shí)需要逐個(gè)函數(shù)查看其函數(shù)監(jiān)控指標(biāo)詳情,定位成功后,也無法直觀看到具體的積壓量化值。

升級(jí)后的異步調(diào)用指標(biāo)體系能夠很好地解決積壓問題定位難以及積壓量化的問題。下面將圍繞積壓問題的場(chǎng)景,描述如何使用上述指標(biāo)快速定位積壓問題。

業(yè)務(wù)場(chǎng)景

問題描述:

小張的業(yè)務(wù)涉及到三個(gè)函數(shù),且都是異步調(diào)用,某天用戶的業(yè)務(wù)出了問題,每個(gè)環(huán)節(jié)的異步處理時(shí)延都增大了。為了快速定位問題,用戶想到了異步鏈路監(jiān)控指標(biāo),進(jìn)行了如下定位動(dòng)作。

定位過程:

首先打開地域級(jí)別的監(jiān)控大盤,選擇目標(biāo)時(shí)間段,查看該地域下各個(gè)服務(wù)的監(jiān)控指標(biāo);

發(fā)現(xiàn)多個(gè)服務(wù)的異步調(diào)用平均處理延時(shí)高于預(yù)期,同時(shí)其異步請(qǐng)求入隊(duì)數(shù)均大于請(qǐng)求處理完成數(shù),表示這些服務(wù)都有一定程度異步調(diào)用消息積壓,且 A-Service 的異步請(qǐng)求入隊(duì)數(shù)量和異步調(diào)用請(qǐng)求完成數(shù)差別最大,積壓最嚴(yán)重,點(diǎn)擊 A-Service 查看監(jiān)控指標(biāo):

可以看到該服務(wù)下的函數(shù) A-Function 是積壓源,點(diǎn)擊 A-Function 查看函數(shù)緯度的監(jiān)控指標(biāo):

從請(qǐng)求積壓數(shù)圖中可以看到積壓是從 15:07 時(shí)間開始的,當(dāng)前該賬號(hào)下未完成的異步調(diào)用請(qǐng)求數(shù)最大時(shí)大約有 7000 左右 ,同時(shí)異步調(diào)用請(qǐng)求處理平均時(shí)延在逐步升高,目前是 30 萬毫秒左右。每分鐘處理的異步調(diào)用請(qǐng)求數(shù)在 800 -- 900 之間。

注:由于小張目前使用的是賬號(hào)級(jí)別共享隊(duì)列,因此異步請(qǐng)求積壓數(shù)顯示的整個(gè)賬號(hào)下的異步調(diào)用請(qǐng)求積壓數(shù),如因業(yè)務(wù)需要,函數(shù)需要獨(dú)享隊(duì)列,可以聯(lián)系函數(shù)計(jì)算團(tuán)隊(duì)進(jìn)行開通。

進(jìn)一步發(fā)現(xiàn),地域按量實(shí)例數(shù)圖中實(shí)例數(shù)已經(jīng)打滿,因此定位到原因是因?yàn)?A-Function 的請(qǐng)求激增,賬號(hào)級(jí)別的按量實(shí)例數(shù)限制打滿了,使得其他函數(shù)的異步調(diào)用也受到了影響,導(dǎo)致業(yè)務(wù)每個(gè)環(huán)節(jié)都受到了影響。

問題解決:

定位到問題后,小張立刻聯(lián)系了函數(shù)計(jì)算團(tuán)隊(duì),基于業(yè)務(wù)量進(jìn)行了地域按量實(shí)例限制調(diào)整。

同時(shí) A-Function 調(diào)用量最大,可能會(huì)對(duì)地域緯度的異步調(diào)用請(qǐng)求調(diào)度以及按量實(shí)例數(shù)產(chǎn)生一定的沖擊,對(duì)其他函數(shù)的異步調(diào)用請(qǐng)求造成影響,因此函數(shù)計(jì)算團(tuán)隊(duì)建議為 A-Function 開啟獨(dú)享隊(duì)列功能,同時(shí)設(shè)置彈性實(shí)例上限,這樣將 A-Function 的異步調(diào)用請(qǐng)求進(jìn)行隔離,避免對(duì)其他函數(shù)的影響。

總結(jié)

升級(jí)后的函數(shù)計(jì)算異步調(diào)用監(jiān)控指標(biāo)體系能夠幫助用戶解決積壓問題定位難以及積壓量化等問題,結(jié)合云監(jiān)控報(bào)警的設(shè)置,極大提高了函數(shù)計(jì)算異步調(diào)用應(yīng)用的穩(wěn)定性。

同時(shí),為了盡量避免請(qǐng)求積壓情況的發(fā)生,我們目前正在對(duì)函數(shù)計(jì)算異步處理系統(tǒng)層面進(jìn)行優(yōu)化,包括隊(duì)列回收機(jī)制、獨(dú)享隊(duì)列能力以及積壓消息重定向策略等,從而提高函數(shù)計(jì)算系統(tǒng)處理異步調(diào)用請(qǐng)求的能力。這樣,通過強(qiáng)大的異步調(diào)用請(qǐng)求處理系統(tǒng)以及全面的監(jiān)控指標(biāo)體系,為函數(shù)計(jì)算異步調(diào)用保駕護(hù)航。

福利大放送

開發(fā)者如何自我提升?如何拓展自身技能,了解最優(yōu)學(xué)習(xí)路徑迅速入門?阿里云 Serverless 免費(fèi)開放超全開發(fā)者學(xué)習(xí)資料,將最前沿的技術(shù)知識(shí)沉淀送給各位。內(nèi)含:技術(shù)電子書、技術(shù)大會(huì)資料合集、知識(shí)圖譜、18 節(jié)入門視頻課等,助力所有開發(fā)者共同學(xué)習(xí)進(jìn)步!

關(guān)注 Serverless 公眾號(hào)后臺(tái)回復(fù) 學(xué)習(xí) 即可獲得開發(fā)者學(xué)習(xí)資料下載鏈接!

發(fā)布云原生技術(shù)最新資訊、匯集云原生技術(shù)最全內(nèi)容,定期舉辦云原生活動(dòng)、直播,阿里產(chǎn)品及用戶最佳實(shí)踐發(fā)布。與你并肩探索云原生技術(shù)點(diǎn)滴,分享你需要的云原生內(nèi)容。

關(guān)注【阿里巴巴云原生】公眾號(hào),獲取更多云原生實(shí)時(shí)資訊!

總結(jié)

以上是生活随笔為你收集整理的异步请求积压可视化|如何 1 分钟内快速定位函数计算积压问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。