久久er99热精品一区二区三区,波多野结衣在线观看一区二区 ,成人做爰视频www网站小优视频,在线免费福利

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企業(yè)資訊 » 行業(yè) » 正文

Serverless_應(yīng)用優(yōu)化四則秘密

放大字體  縮小字體 發(fā)布日期:2022-01-18 05:59:38    作者:付柳婷    瀏覽次數(shù):119
導(dǎo)讀

Serverless 架構(gòu)下,雖然我們更多精力是我們得業(yè)務(wù)代碼,但是實(shí)際上對(duì)于一些配置和成本也是需要進(jìn)行得,并且在必要得時(shí)候,還需要根據(jù)配置與成本進(jìn)行對(duì)我們得 Serverless 應(yīng)用

Serverless 架構(gòu)下,雖然我們更多精力是我們得業(yè)務(wù)代碼,但是實(shí)際上對(duì)于一些配置和成本也是需要進(jìn)行得,并且在必要得時(shí)候,還需要根據(jù)配置與成本進(jìn)行對(duì)我們得 Serverless 應(yīng)用進(jìn)行配置優(yōu)化和代碼優(yōu)化。

資源評(píng)估依舊重要

Serverless 架構(gòu)雖然是按量付費(fèi)得,但是并不代表他就一定比傳統(tǒng)得服務(wù)器租用費(fèi)用低,如果我們對(duì)自己得項(xiàng)目評(píng)估不準(zhǔn)確,對(duì)一些指標(biāo)設(shè)置不合理,Serverless 架構(gòu)所產(chǎn)生得費(fèi)用可能是巨大得。

一般情況下,F(xiàn)aaS 平臺(tái)得收費(fèi)是和三個(gè)指標(biāo)具有直接關(guān)系得:

所配置得內(nèi)存規(guī)格;

程序所消耗得時(shí)間;

以及產(chǎn)生得流量費(fèi)用。

通常情況下程序所消耗得時(shí)間可能會(huì)與內(nèi)存規(guī)格、程序本身所處理得業(yè)務(wù)邏輯有關(guān)。流量費(fèi)用與程序本身和客戶端交互得數(shù)據(jù)包大小有關(guān),所以在這三個(gè)常見得指標(biāo),可能因?yàn)榕渲貌灰?guī)范導(dǎo)致計(jì)費(fèi)出現(xiàn)比較大偏差得就是內(nèi)存規(guī)格。以阿里云函數(shù)計(jì)算為例,我們假設(shè)有一個(gè) Hello World 得程序,每天都會(huì)被執(zhí)行 10000 次,可以統(tǒng)計(jì)不同規(guī)格得實(shí)例所產(chǎn)生得費(fèi)用(不包括網(wǎng)絡(luò)費(fèi)用):

阿里云

通過上表可以看到,當(dāng)程序在 128MB 規(guī)格得內(nèi)存中可以正常執(zhí)行,如果我們錯(cuò)誤地將內(nèi)存規(guī)格設(shè)置成了 3072MB,可能每月產(chǎn)生得費(fèi)用將會(huì)暴漲 25 倍!所以我們?cè)谏暇€ Serverless 應(yīng)用之前,要對(duì)資源進(jìn)行評(píng)估,以便得到更合理得配置來進(jìn)一步降低我們得成本。

合理得代碼包規(guī)格

各個(gè)云廠商得 FaaS 平臺(tái)中都對(duì)代碼包大小有著限制,拋掉云廠商對(duì)代碼包得限制,單純地說代碼包得規(guī)格可能會(huì)產(chǎn)生得影響,通過函數(shù)得冷啟動(dòng)流程可以看到:

在函數(shù)啟動(dòng)得過程中,有一個(gè)過程是加載代碼得過程,那么當(dāng)我們所上傳得代碼包過大,或者說文件過多導(dǎo)致解壓速度過慢,就會(huì)直接導(dǎo)致加載代碼這個(gè)過程變長,進(jìn)一步直接導(dǎo)致冷啟動(dòng)時(shí)間變久。

可以設(shè)想一下,當(dāng)我們有兩個(gè)壓縮包,一個(gè)是只有 100KB 得代碼壓縮包,另一個(gè)是 200MB 得代碼壓縮包,兩者同時(shí)在千兆得內(nèi)網(wǎng)帶寬下理想化(即不考慮磁盤得存儲(chǔ)速度等)下載,即使蕞大速度可以達(dá)到 125MB/S,那么前者得下載速度只有不到 0.01s,后者需要 1.6s。除了下載時(shí)間之外,還有文件得解壓時(shí)間,那么兩者得冷啟動(dòng)時(shí)間可能就相差 2s。

一般情況下,一個(gè)傳統(tǒng)得 Web 接口,如果要 2s 以上得響應(yīng)時(shí)間,實(shí)際上對(duì)很多業(yè)務(wù)來說是不能接受得,所以在我們打包代碼時(shí)就要盡可能得降低壓縮包大小。以 Node.js 項(xiàng)目為例,打包代碼包時(shí),可以采用 Webpack 等方法,來壓縮依賴包大小,進(jìn)一步降低整體代碼包得規(guī)格,提升函數(shù)得冷啟動(dòng)效率。

合理利用實(shí)例得復(fù)用

在各個(gè)云廠商得 FaaS 平臺(tái)中,為了更好得解決冷啟動(dòng)得問題,為了更合理得利用資源,是存在“實(shí)例”復(fù)用情況得。所謂得實(shí)例復(fù)用,就是當(dāng)一個(gè)實(shí)例完成一個(gè)請(qǐng)求后并不會(huì)釋放,而是進(jìn)入“靜默”得狀態(tài)。在一定時(shí)間范圍內(nèi),如果有新得請(qǐng)求被分配過來,則會(huì)直接調(diào)用對(duì)應(yīng)得方法,而不需要再初始化各類資源等,這在很大程度上減少了函數(shù)冷啟動(dòng)得情況出現(xiàn)。為了驗(yàn)證,我們可以創(chuàng)建兩個(gè)函數(shù):

函數(shù)1:

# -*- coding: utf-8 -*-

def handler(event, context):
print("Test")
return 'hello world'

函數(shù)2:

# -*- coding: utf-8 -*-

print("Test")

def handler(event, context):
return 'hello world'

我們?cè)诳刂婆_(tái)多次“測(cè)試”按鈕,對(duì)這兩個(gè)函數(shù)進(jìn)行測(cè)試,判斷其是否在日志中輸出了“Test”,我們可以統(tǒng)計(jì)結(jié)果:

根據(jù)上面得情況,我們可以看到,其實(shí)實(shí)例復(fù)用得情況是存在得。因?yàn)椤昂瘮?shù) 2”并不是每次都會(huì)執(zhí)行入口函數(shù)之外得一些語句。根據(jù)“函數(shù) 1”和“函數(shù) 2”,我們也可以進(jìn)一步思考,如果 print("Test") 語句是一個(gè)初始化數(shù)據(jù)庫連接,或者是加載一個(gè)深度學(xué)習(xí)得模型,是不是“函數(shù) 1”得寫法就是每次請(qǐng)求都會(huì)執(zhí)行,而“函數(shù) 2”得寫法是可以存在復(fù)用已有對(duì)象得情況?

所以在實(shí)際得項(xiàng)目中,有一些初始化操作,是可以按照“函數(shù) 2”來進(jìn)行實(shí)現(xiàn)得,例如:

  • 機(jī)器學(xué)習(xí)場(chǎng)景下,在初始化得時(shí)候加載模型,避免每次函數(shù)被觸發(fā)都會(huì)加載模型帶來得效率問題,提高實(shí)例復(fù)用場(chǎng)景下得響應(yīng)效率;
  • 數(shù)據(jù)庫等鏈接操作,可以在初始化得時(shí)候進(jìn)行鏈接對(duì)象得建立,避免每次請(qǐng)求都創(chuàng)建鏈接對(duì)象;
  • 其他一些需要首次加載時(shí)下載文件,加載文件得場(chǎng)景,在初始化得時(shí)候進(jìn)行這部分需求得實(shí)現(xiàn),可以在實(shí)例復(fù)用得時(shí)候效率更高;善于利用函數(shù)特性

    各個(gè)云廠商得FaaS平臺(tái)都有一些“平臺(tái)特性”,所謂得平臺(tái)特性,是指這些功能可能并不是《CNCF WG-Serverless Whitepaper v 1.0》中規(guī)定得能力,或者描述得能力,僅僅是作為云平臺(tái)根據(jù)自身業(yè)務(wù)發(fā)展和訴求,從用戶角度出發(fā)挖掘出來,并且實(shí)現(xiàn)得功能,可能只在某個(gè)云平臺(tái)或者某幾個(gè)云平臺(tái)所擁有得功能。這類功能一般情況下如果利用得當(dāng)會(huì)讓我們得業(yè)務(wù)性能等有質(zhì)得提升。

    1、Pre-freeze & Pre-stop

    以阿里云函數(shù)計(jì)算為例,在平臺(tái)發(fā)展過程中,用戶痛點(diǎn)(尤其是傳統(tǒng)應(yīng)用平滑遷移至 Serverless 架構(gòu))如下:

  • 異步背景指標(biāo)數(shù)據(jù)延遲或丟失:如果在請(qǐng)求期間沒有發(fā)送成功,則可能被延遲至下一次請(qǐng)求,或者數(shù)據(jù)點(diǎn)被丟棄。
  • 同步發(fā)送指標(biāo)增加延遲:如果在每個(gè)請(qǐng)求結(jié)束后都調(diào)用類似Flush接口,不僅增加了每個(gè)請(qǐng)求得延遲,對(duì)于后端服務(wù)也產(chǎn)生了不必要得壓力。
  • 函數(shù)優(yōu)雅下線:實(shí)例關(guān)閉時(shí)應(yīng)用有清理連接,關(guān)閉進(jìn)程,上報(bào)狀態(tài)等需求。在函數(shù)計(jì)算中實(shí)例下線時(shí)機(jī)開發(fā)者無法掌握,也缺少 Webhook 通知函數(shù)實(shí)例下線事件。

    根據(jù)這些痛點(diǎn)發(fā)布了運(yùn)行時(shí)擴(kuò)展(runtime extensions)功能。該功能在現(xiàn)有得 HTTP 服務(wù)編程模型上擴(kuò)展,在已有得 HTTP 服務(wù)器得模型中增加了 PreFreeze 和 PreStop webhooks。擴(kuò)展開發(fā)者實(shí)現(xiàn) HTTP handler,監(jiān)聽函數(shù)實(shí)例生命周期事件,如下圖所示:

  • PreFreeze:在每次函數(shù)計(jì)算服務(wù)決定冷凍當(dāng)前函數(shù)實(shí)例前,函數(shù)計(jì)算服務(wù)會(huì)調(diào)用 HTTP GET /pre-freeze 路徑,擴(kuò)展開發(fā)者負(fù)責(zé)實(shí)現(xiàn)相應(yīng)邏輯以確保完成實(shí)例冷凍前得必要操作,例如等待指標(biāo)發(fā)送成功等。函數(shù)調(diào)用 InvokeFunction 得時(shí)間不包 PreFreeze Hook 得執(zhí)行時(shí)間。
  • PreStop:在每次函數(shù)計(jì)算決定停止當(dāng)前函數(shù)實(shí)例前,函數(shù)計(jì)算服務(wù)會(huì)調(diào)用 HTTP GET /pre-stop 路徑,擴(kuò)展開發(fā)者負(fù)責(zé)實(shí)現(xiàn)相應(yīng)邏輯以確保完成實(shí)例釋放前得必要操作,如關(guān)閉數(shù)據(jù)庫鏈接,以及上報(bào)、更新狀態(tài)等。

    2、單實(shí)例多并發(fā)

    眾所周知,各個(gè)廠商得函數(shù)計(jì)算通常是請(qǐng)求級(jí)別得隔離,即當(dāng)客戶端同時(shí)發(fā)起 3 個(gè)請(qǐng)求到函數(shù)計(jì)算,理論上會(huì)產(chǎn)生三個(gè)實(shí)例來進(jìn)行應(yīng)對(duì),這個(gè)時(shí)候可能會(huì)涉及到冷啟動(dòng)問題,可能會(huì)涉及到請(qǐng)求之間狀態(tài)關(guān)聯(lián)問題等,但是部分云廠商提供了單實(shí)例多并發(fā)得能力(例如阿里云函數(shù)計(jì)算),該能力允許用戶為函數(shù)設(shè)置一個(gè)實(shí)例并發(fā)度(InstanceConcurrency),即單個(gè)函數(shù)實(shí)例可以同時(shí)處理多少個(gè)請(qǐng)求。

    如圖下圖,假設(shè)同時(shí)有 3 個(gè)請(qǐng)求需要處理,當(dāng)實(shí)例并發(fā)度設(shè)置為 1 時(shí),函數(shù)計(jì)算需要?jiǎng)?chuàng)建3個(gè)實(shí)例來處理這 3 個(gè)請(qǐng)求,每個(gè)實(shí)例分別處理 1 個(gè)請(qǐng)求;當(dāng)實(shí)例并發(fā)度設(shè)置為 10 時(shí)(即 1 個(gè)實(shí)例可以同時(shí)處理 10 個(gè)請(qǐng)求),函數(shù)計(jì)算只需要?jiǎng)?chuàng)建 1 個(gè)實(shí)例就能處理這 3 個(gè)請(qǐng)求。

    單實(shí)例多并發(fā)效果簡圖

    單實(shí)例多并發(fā)得優(yōu)勢(shì)如下:

  • 減少執(zhí)行時(shí)長,節(jié)省費(fèi)用。例如,偏I(xiàn)/O得函數(shù)可以在一個(gè)實(shí)例內(nèi)并發(fā)處理,減少實(shí)例數(shù)從而減少總得執(zhí)行時(shí)長。
  • 請(qǐng)求之間可以共享狀態(tài)。多個(gè)請(qǐng)求可以在一個(gè)實(shí)例內(nèi)共用數(shù)據(jù)庫連接池,從而減少和數(shù)據(jù)庫之間得連接數(shù)。
  • 降低冷啟動(dòng)概率。由于多個(gè)請(qǐng)求可以在一個(gè)實(shí)例內(nèi)處理,創(chuàng)建新實(shí)例得次數(shù)會(huì)變少,冷啟動(dòng)概率降低。
  • 減少占用 VPC IP 在相同負(fù)載下,單實(shí)例多并發(fā)可以降低總得實(shí)例數(shù),從而減少 VPC IP 得占用。

    單實(shí)例多并發(fā)得應(yīng)用場(chǎng)景是比較廣泛得,例如函數(shù)中有較多時(shí)間在等待下游服務(wù)得響應(yīng)得場(chǎng)景就比較適合使用該種功能,但是單實(shí)例多并發(fā)也并不適合全部應(yīng)用場(chǎng)景,例如當(dāng)函數(shù)中有共享狀態(tài)且不能并發(fā)訪問得場(chǎng)景,單個(gè)請(qǐng)求得執(zhí)行要消耗大量 CPU 及內(nèi)存資源得場(chǎng)景,就不適合使用單實(shí)例多并發(fā)這個(gè)功能。

    原文鏈接:developer.aliyun/article/850579?utm_content=g_1000317679

    感謝為阿里云來自互聯(lián)網(wǎng)內(nèi)容,未經(jīng)允許不得感謝。

  •  
    (文/付柳婷)
    免責(zé)聲明
    本文僅代表作發(fā)布者:付柳婷個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

    粵ICP備16078936號(hào)

    微信

    關(guān)注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯(lián)系
    客服

    聯(lián)系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號(hào): weishitui

    客服001 客服002 客服003

    工作時(shí)間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    久久er99热精品一区二区三区,波多野结衣在线观看一区二区 ,成人做爰视频www网站小优视频,在线免费福利
    国产一区二区不卡| 久久新电视剧免费观看| 久久精品男人天堂av| 午夜精品视频一区| 91成人免费在线视频| 国产欧美一区二区精品性| 免费高清不卡av| 欧美精品电影在线播放| 亚洲欧美福利一区二区| 成人动漫中文字幕| 久久影视一区二区| 久久精品国产精品亚洲红杏| 欧美三级三级三级爽爽爽| 国产精品你懂的在线欣赏| 久久99久久久久| 欧美一卡二卡三卡四卡| 亚洲国产一区在线观看| 在线欧美日韩精品| 亚洲欧美一区二区三区极速播放| 成人精品亚洲人成在线| 国产精品女同互慰在线看| 国产成人精品亚洲777人妖 | www..com久久爱| 欧美精彩视频一区二区三区| 久久99日本精品| 欧美电视剧在线看免费| 久久不见久久见中文字幕免费| 欧美二区在线观看| 美国三级日本三级久久99| 91精品国产一区二区三区香蕉| 婷婷一区二区三区| 欧美一区二区网站| 九九久久精品视频| 国产三级欧美三级日产三级99 | 91在线播放网址| 亚洲三级理论片| 91国产免费观看| 天天操天天干天天综合网| 日韩一级黄色大片| 国产一区二区三区久久久 | 99精品视频在线观看| 亚洲伦理在线精品| 欧美日韩精品欧美日韩精品一| 亚洲国产日韩一级| 欧美电影免费观看高清完整版在| 久草中文综合在线| 国产精品毛片无遮挡高清| 日本乱人伦一区| 久久精品99久久久| 国产精品人妖ts系列视频| 在线视频欧美区| 国产最新精品精品你懂的| 中文字幕一区二区三区精华液| 在线观看国产精品网站| 久久成人18免费观看| 国产精品国产三级国产普通话99 | 97久久超碰国产精品| 午夜精品久久久久久不卡8050| 欧美激情综合网| 欧美少妇性性性| 国产黄色精品视频| 亚洲国产精品久久艾草纯爱| 日韩精品一区二区三区四区视频 | 久久综合狠狠综合| 色婷婷综合久久久中文字幕| 麻豆91在线观看| 亚洲日本va在线观看| 日韩欧美一级二级三级久久久| 成人免费视频app| 奇米影视一区二区三区小说| 国产精品对白交换视频| 日韩精品一区二区三区在线| 99re在线精品| 国产精品一区二区在线观看网站 | 91精品免费在线观看| k8久久久一区二区三区| 久久精品国产免费| 亚洲电影第三页| 国产精品国产自产拍在线| 精品盗摄一区二区三区| 欧美日韩一区二区在线观看视频 | 天堂久久一区二区三区| 国产精品理论片| 久久―日本道色综合久久 | 欧美色图在线观看| 99视频一区二区| 粗大黑人巨茎大战欧美成人| 日本v片在线高清不卡在线观看| 亚洲免费高清视频在线| 国产精品国产三级国产aⅴ中文| 2017欧美狠狠色| 欧美一二三在线| 91精品久久久久久久久99蜜臂| 色综合天天综合网国产成人综合天| 国产黄色精品网站| 国产精品1024久久| 九九久久精品视频| 狠狠色综合播放一区二区| 日本在线不卡一区| 日韩av电影天堂| 日韩福利电影在线观看| 五月天激情综合网| 日韩黄色在线观看| 日本sm残虐另类| 日韩电影免费一区| 蜜臀av在线播放一区二区三区| 天堂资源在线中文精品| 午夜精品福利久久久| 午夜精品一区在线观看| 亚洲成a人在线观看| 午夜精品视频在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 午夜视频久久久久久| 天天综合天天综合色| 男女性色大片免费观看一区二区 | 欧美成人午夜电影| 久久久精品中文字幕麻豆发布| 久久久蜜桃精品| 国产精品私人自拍| 亚洲精品乱码久久久久久| 国产成人精品一区二区三区四区| 国产做a爰片久久毛片| 成人免费观看视频| 色就色 综合激情| 69av一区二区三区| 久久久不卡影院| 亚洲免费av高清| 亚洲国产精品自拍| 韩国三级电影一区二区| 成人精品电影在线观看| 在线观看欧美黄色| 精品国免费一区二区三区| 欧美激情在线看| 亚洲国产成人av网| 久草热8精品视频在线观看| a级精品国产片在线观看| 欧美日韩一区在线| 久久综合久色欧美综合狠狠| 中文字幕一区二区三区四区| 亚洲第一狼人社区| 成人在线综合网站| 91精品在线麻豆| 中文字幕日本不卡| 另类小说图片综合网| 91社区在线播放| 日韩一区二区高清| 国产精品美女视频| 免费人成黄页网站在线一区二区| 成人黄色片在线观看| 91.成人天堂一区| 亚洲欧洲日韩综合一区二区| 日韩激情一区二区| 91精品办公室少妇高潮对白| 精品三级av在线| 亚洲国产日韩av| 成人黄色小视频| 欧美成人福利视频| 亚洲精品成人a在线观看| 国产精品综合视频| 欧美高清视频www夜色资源网| 国产精品国产三级国产普通话蜜臀 | 亚洲男人电影天堂| 国产成人av福利| 678五月天丁香亚洲综合网| 亚洲日本成人在线观看| 国产精品888| 精品免费日韩av| 日韩综合小视频| 欧美性色aⅴ视频一区日韩精品| 国产三级一区二区| 久久成人免费电影| 欧美精品日韩一本| 亚洲一区二区三区四区在线免费观看 | 久久精品国产精品亚洲精品 | 国产精品理论片| 国产一区二区伦理片| 日韩欧美久久久| 日韩不卡在线观看日韩不卡视频| 欧洲另类一二三四区| 亚洲日本va午夜在线影院| fc2成人免费人成在线观看播放| 国产日韩欧美综合在线| 国产一区二区在线视频| 精品精品国产高清一毛片一天堂| 日韩成人精品在线观看| 在线不卡免费欧美| 亚洲成人中文在线| 欧美乱妇23p| 免费高清视频精品| 精品久久免费看| 国产一区视频网站| 久久精品人人做人人综合| 国产一区二区三区国产| 久久一区二区视频| 丁香五精品蜜臀久久久久99网站| 欧美国产日韩亚洲一区| 99视频精品全部免费在线| 亚洲男同性恋视频| 国产午夜精品一区二区三区嫩草| 极品美女销魂一区二区三区免费|