Важное обновление: см обновление 5 на дне нет проблем с производительностью в ASP.NET MVC 3, это ориентир вопросASP.NET MVC 3 Razor производительность
Я сделал простой привет мир проект в asp.net mvc2,3 aspx и 3 бритвы и сравнили их. Что я вижу:
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 строковым текстом и без кода. все сайты скомпилированы в режиме выпуска. Моя система - это окна 7, 4 gb i7 4 ядра. Я проверил тест 2 раза, чтобы разогреть iis, и это результаты второго запуска. Параметры стендовых Apache: абы -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%
Update 2 ответил в своем блоге Скотт Гатри:
Мы не полностью оптимизированных 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%
Update 5 все испытания сделанных в режиме релиза, но проблема была debug="true"
в моем файле web.config (который также эффекты релиз сборки), после изменения его к ложным, выпуск фиксировано. И интересно, как это влияет только на бритва templating в этом масштабе. Это должно иметь в виду развертывание.
System Requests per second CPU Utilization
----------------------------------------------------
mvc 3 rc2 razor 3940 58%
mvc 3 rc2 aspx 4100 58%
Благодаря команде asp.net mvc, отличная работа!
Как вы выполняли бенчмарк? Был ли ваш сайт развернут в IIS в режиме Release? Вы использовали функцию ''
+1 Дарин - не может быть полностью оптимизирован продукт в альфа-бета-стадиях. – Oded
Это отличный ответ, почему бы вам представить его как комментарий? – Slavo