簡體   English   中英

改善 ASP.NET [核心] 系統中的瓶頸性能

[英]Improve Bottleneck Performance in ASP.NET [core] System

我們正在開發一個基於 ASP.NET 和 ASP.NET Core 3.1 的系統。 最近,在基於負載測試進行改進時,我們發現了一個 API-Endpoint,它可以處理文件上傳和一些 JSON 有效負載(它是一個多部分請求)。

雖然這個端點成為瓶頸並不奇怪,但我認為還有一些改進的余地。

熱路徑

關鍵路徑似乎是文件上傳管理。 最多可以上傳 25 個文件(我們的負載測試發送一個 2MB 文件,因為這是平均值)。

The endpoint takes the IFormFile s, and assigns its Stream-Contents to a byte[] property of a DTO which then gets sent to another service based on .NET (not core) because it needs thje SharePoint SDK which does not support .NET Core:( .

所述服務將byte[]讀取到 Stream 中,該 Stream 被發送到最終存儲文檔的 SharePoint。

我的問題

我猜(不知道tbh) RequestIFormFile.Streambyte[] byte[] StreamSharePoint鏈可以在沒有轉換的情況下實現。

這可能嗎?如果可以:它會提高整體操作的性能嗎? 換句話說:是否可以通過對中間 WebService 的另一個請求來獲取IFormFilestream內容? (這有意義嗎)

回答我自己的問題:問題是在 SharePoint 中創建文件夾(為每個帶有附加文件的新記錄完成一次)。

它很慢。 (負載時)

我們通過實現一個 BackgroundJob 解決了這個問題,它預先在 SharePoint 中預先創建了一定數量的文件夾,以便在處理請求時不需要這一步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM