gpt4 book ai didi

linux - 在适用于 Linux 的 Azure 应用服务中运行 .NET Core API 时出现性能问题

转载 作者:行者123 更新时间:2023-12-02 06:05:38 29 4
gpt4 key购买 nike

我尝试将一些基于 .NET Core 3.1 构建的 Web API 移植到 Azure 应用服务(在 Linux 上)。早些时候,所有这些 API 都托管在 Azure 应用服务(在 Windows 上)中,但我想将它们移植到 Linux 环境中,因为它们具有巨大的成本优势。

然而,在移植它们并运行一些性能套件后,我发现 Linux 和 Windows 应用服务之间存在一些严重的性能差异。我原以为 Linux 应用服务的性能会提高或保持不变,但令我沮丧的是,性能实际上下降了。以下是一些结果:

+-----------------------------------------------+-----------+--------+---------+
| Operation | User Load | Linux | Windows |
+-----------------------------------------------+-----------+--------+---------+
| Cosmos DB Read | 50 | 600 ms | 60 ms |
+-----------------------------------------------+-----------+--------+---------+
| Simple Ping | 50 | 30 ms | 20 ms |
+-----------------------------------------------+-----------+--------+---------+
| 15 parallel calls to Azure Feature Management | 50 | 510 ms | 160 ms |
+-----------------------------------------------+-----------+--------+---------+

是什么导致 Linux 性能下降?这是 .NET Core 的问题吗?与 Linux 相比,Windows 中的性能更好。如果是这样,这是否会在 .NET 5 或其他后续版本中获得地址?

最佳答案

至少对于 CosmosDB,有一个 documented performance preference对于使用 .NET SDK 时的 Windows:

We recommend Windows 64-bit host processing for improved performance.The SQL SDK includes a native ServiceInterop.dll to parse and optimizequeries locally. ServiceInterop.dll is supported only on the Windowsx64 platform. For Linux and other unsupported platforms whereServiceInterop.dll isn't available, an additional network call is madeto the gateway to get the optimized query.

关于linux - 在适用于 Linux 的 Azure 应用服务中运行 .NET Core API 时出现性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63447218/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com