繁体   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