ModelArts在線服務時延測試

      網友投稿 709 2025-04-01

      前言

      當一個模型部署成ModelArts的在線服務在本地調用,用戶往往會關注整個端到端的時延,本文將科學的帶大家了解和測試整個端到端各個階段的耗時。

      獲取端到端時延

      獲取單次請求的端到端時延,非常簡單,首先根據我之前寫的教程:https://bbs.huaweicloud.com/blogs/313145? ?部署好模型,然后通過:https://bbs.huaweicloud.com/blogs/313762? 本地通過代碼調用在線服務,然后再main.py函數加一句:

      print(r.elapsed.total_seconds())

      即可獲取整個端到端的時間。但是整個時延其實后置很多的方法,如下圖所示,首先是本地請求所在的區域,如果模型在線服務部署在北京,而用戶在華南地區,那這個地域的距離需要非常多跳,才能跳到北京那,非常需要時間,一個理想的做法,申請一個也在北京的ECS[在線虛擬機、帶寬足夠],用同區域的ECS去調用在線服務來推理,可以減小時延,下圖所示是整個鏈接的大體耗時:

      從結果可以看到,傳輸一個600k的json到在線服務去推理,總時長來回大概是100ms,而其中推理的時間大概是只有6~8ms[數據前處理+推理+后處理],這是通過在模型部署中的customize_service.py打點打印出來獲取的時間,真實有效哈哈。而大部分的時間都花在網絡上,接下來詳細分析這100ms到底花在了哪里。

      curl測試方法

      ModelArts在線服務時延測試

      通過curl命令可以測的更詳細的網絡耗時,具體指令教程可以參考華為云官方文檔:https://support.huaweicloud.com/inference-modelarts/inference-modelarts-0023.html

      測試命令:

      curl -o /dev/null -s -w %{http_code}:%{http_connect}:%{content_type}:%{time_namelookup}:%{time_redirect}:%{time_pretransfer}:%{time_connect}:%{time_starttransfer}:%{time_total}:%{speed_download} -H 'X-Auth-Token:xxxxxxxxxxxxxxxxxxxxx' -H 'Content-type: application/json' -d '{"type":"string"}' -X POST https://xxxxxxxxxxxxxx.apig.cn-north-4.huaweicloudapis.com/v1/infers/xxxx-xxxx-xxxxx-xxxxx-xxxxx

      其中:

      http_code http狀態碼,如200成功,301轉向,404未找到,500服務器錯誤等

      http_connect The numerical code that was found in the last response (from a proxy) to a curl CONNECT request

      time_namelookup DNS解析時間,從請求開始到DNS解析完畢所用時間。

      time_redirect 重定向時間,包括到最后一次傳輸前的幾次重定向的DNS解析,連接,預傳輸,傳輸時間。

      time_pretransfer 從開始到準備傳輸的時間。

      time_connect 連接時間,從開始到建立TCP連接完成所用時間,包括前邊DNS解析時間,如果需要單純的得到連接時間,用這個time_connect時間減去前邊time_namelookup時間。

      以上解釋來源于:https://blog.csdn.net/firehive/article/details/81706741,更豐富的命令可以參考其中。

      結果:

      http狀態碼: 200

      DNS解析時間: 0.000629s

      redirect重定向時間: 0.000000s

      連接時間,從開始到建立TCP連接完成所用時間,包括前邊DNS解析時間time_connect: 0.001102s

      連接建立完成時間,如SSL/SSH等建立連接或者完成三次握手時間time_appconnect: 0.008809s

      從開始到準備傳輸的時間time_pretransfer: 0.008964s

      開始傳輸時間。在client發出請求之后,Web 服務器返回數據的第一個字節所用的時間time_starttransfer: 0.008965s

      size_download: 22074bytes

      speed_download: 214310.000B/s

      ----------

      time_total: 0.103954s

      以上結果值得關注的是,和在線服務建立連接的時間都需要花接近10ms,這個時間是跑不掉了。

      在線服務里的時間

      模型部署成在線服務,相當于有個容器,把模型塞進容器里跑,里面是一個serving層暴露API讓外部調用,一個是內在的tensorflow推理,我通過在模型部署上線的customize_service.py通過同樣的request請求,請求容器內的serving[剔除了網絡時延],得到的時間是27ms,而推理的時間是7ms,也就是在600k的數據在serving處理需要20ms的時間,如下圖所示:

      鏈路耗時

      通過crul命令傳送空,得到的時間就是建立連接的時間+dispatcher時間+APIG時間+容器里的時間,同過上傳一個新的模型在線服務,讓customize_service.py的前處理推理后處理不做任何操作,直接return結果,可以剔除推理的時間,而我通過專屬dispatcher【花錢】的方法,繞開了APIG的驗證,又去除了APIG驗證的時間,而后通過一些方法測試到ECS到專屬dispatcher時間為2ms,最后結果如下圖所示:

      AI AI開發平臺ModelArts 機器學習 深度學習 神經網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何查找相同資料(怎么找相同數據)
      下一篇:如何修改Excel狀態欄的顯示信息
      相關文章
      亚洲色婷婷综合开心网| 亚洲国产高清人在线| 最新亚洲人成无码网www电影| 亚洲中文字幕一区精品自拍| 亚洲色一色噜一噜噜噜| 欧美日韩亚洲精品| 亚洲国产高清国产拍精品| 亚洲ⅴ国产v天堂a无码二区| 色噜噜噜噜亚洲第一| 日韩欧美亚洲国产精品字幕久久久| 亚洲网站在线免费观看| 亚洲精品岛国片在线观看| 亚洲最大福利视频| 亚洲日本va午夜中文字幕一区| 亚洲Av无码精品色午夜| 亚洲欧洲自拍拍偷精品 美利坚| 亚洲国产aⅴ综合网| 亚洲精品精华液一区二区| 亚洲人成电影网站免费| 亚洲一卡2卡4卡5卡6卡在线99| 国产成人综合亚洲亚洲国产第一页 | 精品无码一区二区三区亚洲桃色| 丁香五月亚洲综合深深爱| 亚洲色婷婷六月亚洲婷婷6月| 亚洲.国产.欧美一区二区三区| 色天使亚洲综合一区二区| 亚洲精品线路一在线观看| 亚洲熟妇无码另类久久久| 亚洲成A人片在线观看无码不卡| 亚洲av无码无在线观看红杏| 久久久久亚洲AV成人片| 亚洲av无码国产精品夜色午夜| 内射干少妇亚洲69XXX| 亚洲免费观看在线视频| 久久亚洲精品成人无码网站| 亚洲国产精品久久久久秋霞影院| 亚洲第一成人在线| 亚洲人配人种jizz| 国产亚洲精品仙踪林在线播放| 中文字幕一精品亚洲无线一区| 亚洲大成色www永久网站|