2

実稼働 Web アプリケーション (ASP.NET MVC) があります。このアプリケーションは 2 年前に開発され、Ninject を DI コンテナーとして使用しました。

パフォーマンスの結果を見て、Ninject を LightInject に置き換える動機が生まれました。以前に他の小さな Web アプリケーションでそれを行ったことがあるので、技術的な障害はないと確信していました。

別のコード ブランチで変更を行い、Ninject を LightInject に置き換えることに成功しました。Web アプリケーションは、LightInject を DI コンテナーとして使用して適切に実行されています。

ここで興味深い部分が来ます。私たちは何を得たのでしょうか?

そこで、(非科学的な) パフォーマンス分析をすばやく実行することを考えました。そこで、開発ボックスでPrefix (素晴らしいツール) を使用し、両方のバージョンの Web アプリを手動で実行してタイミングをキャプチャしました。最初の実行と平均時間を無視して、各ページを 10 回実行しました。

ここに画像の説明を入力

結果はそれほど有望ではなく、なぜだろうと思いました。

これらの結果には、次の可能性があると思います。

  1. 測定された UI ページの数が少ない。
  2. 使用されるパフォーマンス測定手法は手動であり、科学的ではありません。
  3. Web アプリで DI コンテナーを使用した方法では、Ninject を使用するか LightInject を使用するかはあまり重要ではありません。この場合、交換は行いません (交換はアプリケーション全体に影響するため)。これを確立するには、より科学的な結果が必要です。

サーバーで Prefix を使用することを考えましたが、AWS Elastic Beanstalk でホストしています。

この場合、LightInject に切り替える価値があるかどうかを確認するために、いくつかのパフォーマンス マトリックスが必要です。

これに関する提案はありますか?

4

1 に答える 1