![](/img/trans.png)
[英]Concurrent request in ASP.NET Web API 2 is nearly six times slower than a single request
[英]Concurrent request handling in ASP.NET web api
我有一個非常簡單的 web 應用程序,其中包含一些端點(獲取、放置、刪除)。
該應用程序的任務是從我的數據庫中存儲/返回/刪除一些數據。
我想向項目添加並發性,以避免應用程序同時收到幾個請求並並行處理的情況。
你能給我提供一些簡單的解決方案/手冊如何實施嗎?
謝謝!
更新:
僅舉一個例子:
如果我發送兩個請求(使用 Postman),例如 DELETE 和 GET,它會並行執行,所以我收到不正確的結果。
我想完成第一個(刪除),然后才開始第二個
通常,web 應用程序並發處理請求,以增加它們可以服務的用戶數量。 因此,並發性是 web 應用程序的核心,在大多數情況下,這不會導致問題。 此外,底層數據庫通常能夠很好地處理並行請求。
當然,站在開發者的角度,你可以構造兩個請求恰好在同一時間點到達的情況,一個刪除數據,另一個讀取數據。 對於大多數 web 應用程序來說,處理更多用戶更為重要,因此他們接受在這個理論案例中他們在剛剛被刪除的響應中返回數據。
此外,在單服務器環境中按順序處理請求似乎很容易,但在多服務器部署中卻很難。 此外,如果一個請求必須等到其他請求完成,它會導致應用程序性能下降。
因此,除非您的場景非常具體或者由於並發請求而遇到問題,否則我建議堅持使用默認行為。
當您想要並發並且同時又不讓它處理並行請求時,不太確定您在要求什么?
無論如何我都會試一試:
鑒於它是一個 do.net 核心項目。 只要您對數據庫使用異步操作並確保它一直異步到端點,您就應該能夠很好地處理並發請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.