blu*_*ish 8 c# asp.net iis performance unmanaged
我有一个基于 ASP.NET 用 C# 编写的 webapp。它加载(使用LoadLibraryEx)一个用 C++Builder 编写的非托管 DLL。
由于我有性能问题,我做了一些测试和比较,在 DLL 中始终运行相同的方法多次,获得平均时间。
我发现DLL:
如您所见,案例 1 和案例 2 的性能非常相似。
为什么情况 3 这么慢?也许 IIS 会减慢 DLL 的速度?
为此,我使用 JetBrains dotTrace 进行了分析:

是否有任何建议的 IIS 调整?
是否有任何建议的快速替代 IIS 来托管 ASP.NET webapps?
我应该考虑将 webapp 移植到 C++Builder 吗?
编辑:
我尝试将我的 webapp 迁移到 ASP.NET Core(而不是 .NET Framework)并在 Kestrel 上运行它。需要 6.042 秒。因此,与控制台应用程序相比,开销并不大。看来IIS是罪魁祸首......为什么?
可以解释您的结果的一个原因是,IIS 在第一次访问您的 Web 应用程序之前不会(默认情况下)加载您的 Web 应用程序。这可能会导致它花费更长的时间,因为在您导航到站点后它将启动整个应用程序,而控制台应用程序将在调用它的类加载到内存中后立即加载库。
| 归档时间: |
|
| 查看次数: |
330 次 |
| 最近记录: |