Важное обновление: см. обновление 5 внизу, в asp.net mvc 3 нет проблем с производительностью, это проблема теста
Я сделал простой проект hello world на asp.net mvc2,3 aspx и 3 razor и протестировал их. Я вижу:
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 страницы с однострочным текстом и без кода. все сайты скомпилированы в режиме релиза. Моя система - windows 7, 4 ГБ i7 4 ядра. Я запускал тест 2 раза, чтобы прогреть iis, и это результаты второго запуска. Параметры стенда 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 Скотт Гатри ответил в своем блоге:
Мы еще не полностью оптимизировали MVC3 (обычно мы много настраиваем кеш). Мы ожидаем, что razor будет иметь ту же производительность, что и механизм представления .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, отличная работа!