可參考 Blog 文件(1)(2),之前測試發現 ASP.NET Web API 有個查詢資料量不小(1.92 MB),並且會有同等級的上傳行為,在 ASP.NET Web API 加入 GZIP/Deflate (解)壓縮來改善效能,資料由 1.92 MB → 50 KB 壓縮率約 40 倍,這是用一點 CPU 來改善效能的好範例。
- ASP.NET Web API 實作 GZip, Deflate 解壓縮 Message Handler。
- 測試專案使用 RestSharp 與 HttpClient 進行大筆 JSON 資料進行 GZip, Deflate 壓縮後 HTTP POST 測試。
- 測試資料約 4227 KB,資料與 Data Model 均使用 https://www.json-generator.com/ 產生。
- ps. 如果你有點時間,可以至 Blog 看個故事:https://blog.kkbruce.net/2018/05/aspnet-web-api-gzipdeflat-data-lose.html
- ps. 非同步版本,請切至 Async 分支可取得。