実稼働 Web アプリケーション (ASP.NET MVC) があります。このアプリケーションは 2 年前に開発され、Ninject を DI コンテナーとして使用しました。
パフォーマンスの結果を見て、Ninject を LightInject に置き換える動機が生まれました。以前に他の小さな Web アプリケーションでそれを行ったことがあるので、技術的な障害はないと確信していました。
別のコード ブランチで変更を行い、Ninject を LightInject に置き換えることに成功しました。Web アプリケーションは、LightInject を DI コンテナーとして使用して適切に実行されています。
ここで興味深い部分が来ます。私たちは何を得たのでしょうか?
そこで、(非科学的な) パフォーマンス分析をすばやく実行することを考えました。そこで、開発ボックスでPrefix (素晴らしいツール) を使用し、両方のバージョンの Web アプリを手動で実行してタイミングをキャプチャしました。最初の実行と平均時間を無視して、各ページを 10 回実行しました。
結果はそれほど有望ではなく、なぜだろうと思いました。
これらの結果には、次の可能性があると思います。
- 測定された UI ページの数が少ない。
- 使用されるパフォーマンス測定手法は手動であり、科学的ではありません。
- Web アプリで DI コンテナーを使用した方法では、Ninject を使用するか LightInject を使用するかはあまり重要ではありません。この場合、交換は行いません (交換はアプリケーション全体に影響するため)。これを確立するには、より科学的な結果が必要です。
サーバーで Prefix を使用することを考えましたが、AWS Elastic Beanstalk でホストしています。
この場合、LightInject に切り替える価値があるかどうかを確認するために、いくつかのパフォーマンス マトリックスが必要です。
これに関する提案はありますか?