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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

提升Azure App Service的几个建议

發(fā)布時間:2023/12/4 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 提升Azure App Service的几个建议 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文介紹了6個技巧,這些技巧可以改善Azure App Service托管應用程序的性能。其中一些技巧是你現(xiàn)在就可以進行的配置變更,而其他技巧則可能需要對應用程序進行一些重新設計和重構, 本文的幾個技巧對于常規(guī)企業(yè)部署依舊有指引作用。

長話短說

????開發(fā)者都希望從部署在Azure的App Services中壓榨出最佳性能,更好的性能不僅能夠獲得更佳的響應體驗,而且如果性能提升的策略在Azure中能有“四兩撥千斤”的效果,那么性能提升還可以為我們省錢。
在本文,我們將研究提高Azure App Services中運行的Web程序性能的設置和策略。

下面幾個性能提升意見在App Service配置界面即可操作,這一組技巧的主題是

評估程序現(xiàn)狀,壓榨出程序本身性能。

1. 啟動HTTP/2

Microsoft于2018年初宣布在App Services中支持HTTP/2,但到目前為止在Azure中默認創(chuàng)建的App Service還是以HTTP1.1協(xié)議工作。HTTP/2對常見的的Web協(xié)議進行了重大更改,許多更改旨在提高性能并減少Web延遲 (例如HTTP/2中的標頭壓縮和二進制格式將減少有效負載大小);另外請求管道和多路復用等功能允許使用更少的網(wǎng)絡套接字來執(zhí)行更多并發(fā)請求,并有助于避免一個緩慢的請求阻止所有后續(xù)請求,這在HTTP1.1是常見問題。

如上圖示,為你的的App Service啟用HTTP/2協(xié)議,下拉列表指定HTTP2.0版本后,所有支持HTTP/2的客戶端都將自動升級其連接,不支持HTTP/2的客戶端仍然以原有Http1.1 方式交互。

下面是一個簡單的測試以驗證HTTP/2的改進:

某App Service托管頁面引用了腳本、CSS資源、16張圖像(每個圖像的大小超過200 KB),使用developer tool記錄使用HTTP 1.1在App Service發(fā)生的情況。

注意觀察條形紅色部分顯示了后置請求以阻塞狀態(tài)開始。這是可怕的“行頭阻塞”問題,其中[對連接數(shù)和并發(fā)請求的限制] 制約了客戶端和服務器之間的吞吐量,直到第一個請求開始后800毫秒,客戶端才會收到該頁面的最終字節(jié)。

接下來在App Service中啟用了HTTP/2支持:

不需要對客戶端或服務器上進行任何其他配置更改,不到500ms完成所有請求。由于HTTP/2提高了網(wǎng)絡利用率,從而避免了阻塞。

2.? 關閉空閑休眠

如果你有將應用程序部署到IIS的經(jīng)歷,那么你應該知道IIS在一段時間不活動之后將休眠(這個配置在IIS理默認是20分鐘)。

Azure App Service延續(xù)了這一傳統(tǒng)。盡管休眠可為在同一App Service Plan上運行的其他App Service提供資源,但是此策略會損害當前應用程序的性能,因為下一個傳入請求將經(jīng)歷Web服務器冷啟動的過程:緩存為空、連接池為空,站點預熱,所有請求的速度都比正常情況慢。為了防止空閑休眠,你可以在"App Service配置"中【始終開啟】標志。

3. 關閉App Service實例親和力

即使你僅運行App Service Plan的單實例,每個Azure App Service前面都是負載平衡器,負載均衡器會轉(zhuǎn)發(fā)請求到App Service實例。當App Service因流量縮放出多實例,負載均衡器使用Application Request Routing將連接會話分發(fā)給實例。

因為Azure無法知曉應用程序是不是stateless服務,故默認的App Service將確保客戶端在會話期間訪問同一App Service實例,為了實現(xiàn)這種親和力,負載均衡器會在對客戶端的第一個響應中注入ARRAffinity?Cookie。

如果你的應用程序是stateless,并允許負載平衡器在實例之間分配請求,請關閉請求路由cookie,以提高性能和彈性。

下面的改進需要一些其他網(wǎng)絡規(guī)劃或重組(某些情況下,還需要更改應用程序本身)

這一組技巧中的主題是縮短數(shù)據(jù)在網(wǎng)絡上傳輸?shù)木嚯x

4. 讓你的服務資源相距更近

????比如常規(guī)的WebApi服務,需要搭建App Service和Database,建議你把資源放在同一區(qū)域協(xié)同工作,不然一次請求,處理鏈路會滿世界跑。

5. 讓你的App Service與使用者更接近

????如果大多數(shù)客戶流量都來自世界的特定區(qū)域,則將資源放置在離客戶最近的Azure區(qū)域中是很有意義的。當然,我們許多人的客戶分布在世界各地。在這種情況下,您可以考慮跨多個Azure區(qū)域進行地理復制,以與每個人保持更近距離,之后你使用類似Azure Traffic Manager(基于DNS技術的負載均衡器)將你的客戶直接路由到最近的服務實例。

6. 讓你的服務內(nèi)容與使用者更接近

????腳本、圖片、CSS,視頻等靜態(tài)資源是在CDN邊緣服務器上緩存的較好選擇,一旦緩存,Azure App Service不需要花費帶寬和時間在這些資源上,專注處理動態(tài)資源。

回過頭來,看以上性能優(yōu)化建議,第一步還是要評估App Service當前現(xiàn)狀和性能,不是每一個策略都對你的App Service有效。

btw 這些策略對于常規(guī)企業(yè)級部署依舊有所指引。

+ 本文翻譯整理自:https://www.telerik.com/blogs/nine-performance-tips-for-azure-app-services

掃一掃左邊二維碼,
更多干貨等著你。
............

我就知道你在看!

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的提升Azure App Service的几个建议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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