首先要說明下,我發布的平臺是IIS
1.客戶端部署在 A這個地方
2.webapi與資料庫部署在B這個地方
3.客戶端發出了一個資料請求httpClient.GetAsync (Ⅰ),然后webapi去資料庫進行查詢獲取資料(Ⅱ),回傳資料給客戶端(Ⅲ)。
4.我追蹤了下資料,發現幾個情況
4.1.這次請求獲取的資料大約5000調左右
4.2.Ⅰ->Ⅱ 大概用時0.2s~0.3s
4.3.Ⅲ 這個步驟到客戶端獲取到資料用時2.8s ,這個時間有點長了
請問: 為啥我4.3花費的時間這么長呢?有沒有辦法縮短這個時間呢,不然客戶端等待時間有點長了。
uj5u.com熱心網友回復:
有大佬能幫我解答下嗎?說下優化思路也行啊uj5u.com熱心網友回復:
資料太多,并且沒有壓縮,下載比較耗時。uj5u.com熱心網友回復:
先去看看查詢資料庫花費多少時間uj5u.com熱心網友回復:
和#2樓朋友差不多反應。你說的是單次回傳資料 5000條???如果是的話,這單次回傳資料本身就已經太多了,要是你這5000條資料的結構再復雜些,然后還要一次性的渲染在終端……。你試一下只回傳1000,100。看下整個流程的回應時間。
因為同樣的流程,查詢陳述句也沒優化的前提下,如果降低資料量能有明顯改善,那也從側面印證了可能查詢陳述句沒什么問題。除非你1000條和100條都要好久,那你要考慮去檢查一下你的查詢陳述句了。
曾經有次做淘寶第三方服務的開發,正式上線時,忘了把注釋掉的頁碼和尺寸關掉。第二天就鬧了一個烏龍。有一個賣家資料過大,前端基本接近崩掉了……后面查詢了下他的寶貝資料,近1萬條……所以,一般webapi單次回傳的資料串列都不會太大,畢竟傳輸也是需要時間成本的
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/213191.html
標籤:Web Services
