重要な更新:下部の更新5を参照してください。asp.netmvc 3にはパフォーマンスの問題はありません。これはベンチマークの問題です
Asp.net mvc2,3 aspxおよび3剃刀で簡単なHello Worldプロジェクトを作成し、ベンチマークを行いました。私が見るものは:
System Requests per second
-------------------------------------------
asp.net mvc 2 ASPX 4200
asp.net mvc 3 Beta 1 ASPX 3200
asp.net mvc 3 Beta 1 Razor 1700
カミソリの何が問題なのですか、とても遅いのですか?
更新:テストをやり直しました。 4つのテスト仮想ディレクトリはすべて、同じ.net 4統合モードアプリプールを使用します。すべてのプロジェクトは、新しい空のxプロジェクトを追加し、1行のテキストでコードなしで1ページを追加することで完了します。すべてのサイトはリリースモードでコンパイルされます。私のシステムはWindows 7、4 GB i7 4コアです。 iisをウォームアップするためにテストを2回実行しましたが、これらは2回目の実行結果です。 Apacheベンチパラメーター:ab -n100000 -c1000結果:
System Requests per second CPU Utilization
----------------------------------------------------
asp.net 4 4780 43%
mcv 2 4322 58%
mvc 3 beta 1 aspx 2324 54%
mvc 3 beta 1 razor 1615 54%
更新2 Scott Guthrieが彼のブログで答えています:
MVC3はまだ完全には最適化されていません(通常、多くのキャッシュチューニングが行われます)。かみそりは、最終的にリリースされる前の.aspxビューエンジンと同じパフォーマンスになると予想されます。
System Requests per second CPU Utilization
----------------------------------------------------
mvc 3 rc1 razor 1960 54%
mvc 3 rc2 razor 2187 54%
mvc 3 rc2 aspx 4014 58%
更新5すべてのテストはリリースモードで行われましたが、問題はdebug="true"
web.configファイル(リリースビルドにも影響します)で、falseに変更した後、問題が修正されました。そして、このスケールでカミソリのテンプレート化のみがどのように影響するかは興味深いです。これは、デプロイメントに関して考慮すべきです。
System Requests per second CPU Utilization
----------------------------------------------------
mvc 3 rc2 razor 3940 58%
mvc 3 rc2 aspx 4100 58%
Asp.net mvcチーム、すばらしい仕事に感謝します!
(RC2番号に応答する新しい回答)
更新された数字をありがとう。いくつかのポイント:
debug="false"
web.configで設定します。どのようにしてベンチマークを実行しましたか?サイトはIISモードリリースで展開されましたか? <deployment retail="true" />
machine.configのセクション?また、ASP.NET MVC 3はまだ開発中のため、完全に最適化されることは期待できません。少なくともRTMに到達するまで待ちます。