我们有一个生产 Web 应用程序 (ASP.NET MVC)。该应用程序是 2 年前开发的,并使用 Ninject 作为 DI 容器。
查看性能结果,我们有动力将 Ninject 替换为 LightInject。我们之前已经在其他小型 Web 应用程序中做到了这一点,因此确信不会有任何技术障碍。
在单独的代码分支中,我们进行了更改并成功地将 Ninject 替换为 LightInject。Web 应用程序使用 LightInject 作为 DI 容器正常运行。
现在到了有趣的部分,我们得到了什么?
所以我想进行快速(非科学)性能分析。所以我在我的开发盒上使用了Prefix(这是一个很棒的工具),并手动捕获了运行这两个版本的 Web 应用程序的时间。忽略第一次运行和平均时间,每页运行 10 次。
结果并不那么令人鼓舞,让我想知道为什么?
我认为这些结果可能有以下可能性:
- 测量的 UI 页面数量较少。
- 使用的绩效衡量技术是手动的,不科学的。
- 我们在 Web 应用程序中使用 DI Container 的方式,使用 Ninject 或 LightInject 并不重要。如果是这种情况,我们不想替换它(因为替换会影响完整应用)。为了确立这一点,我们需要更多的科学成果。
我想在服务器上使用前缀,但我们托管在 AWS Elastic Beanstalk 中。
我只需要一些性能矩阵来确定在我们的案例中是否值得切换到 LightInject。
对此有何建议?