Aggiornamento importante: Vedi aggiornamento 5 in fondo non v'è alcun problema di prestazioni in asp.net MVC 3, questo è un problema di riferimentoASP.NET MVC 3 Razor Performance
Ho fatto un semplice ciao mondo progetto in asp.net mvc2,3 aspx e 3 rasoio e benchmarked. Quello che vedo è:
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
Cosa c'è che non va con il rasoio, è così lento?
Aggiornamento: Ho rifatto il test. Tutte e 4 le directory virtuali di test utilizzano lo stesso pool di app in modalità integrata .net 4. Tutti i progetti vengono completati aggiungendo un nuovo progetto x vuoto e aggiungendo 1 pagina con 1 riga di testo e senza codice. tutti i siti sono compilati in modalità di rilascio. Il mio sistema è Windows 7, 4 GB i7 4 core. Ho eseguito il test 2 volte per scaldare iis e questi sono risultati di second run. apache parametri panca: ab -n100000 -c1000 risultati:
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 Scott Guthrie ha risposto nel suo blog:
Non abbiamo pienamente MVC3 ancora ottimizzato (di solito c'è un un sacco di tuning della cache che facciamo). Ci aspettiamo che il rasoio abbia le stesse prestazioni del motore di visualizzazione .aspx prima che venga finalmente rilasciato.
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 tutti i test eseguiti in modalità di rilascio, ma, il problema era debug="true"
nel mio file web.config (che anche il rilascio effetti costruisce), dopo la modifica su false, problema risolto. Ed è interessante il modo in cui sta effettuando il rasoio solo su questa scala. Questo dovrebbe essere nella nostra mente sulle implementazioni.
System Requests per second CPU Utilization
----------------------------------------------------
mvc 3 rc2 razor 3940 58%
mvc 3 rc2 aspx 4100 58%
Grazie alla squadra di asp.net mvc, lavoro eccellente!
Come hai eseguito il punto di riferimento? Il tuo sito è stato distribuito su IIS in modalità Release? Hai usato [' '](http://www.aspdotnetfaq.com/Faq/What-does-deployment-retail-true-attribute-in-machine-config-file- significa.aspx) nella tua macchina.config? Ricorda inoltre che ASP.NET MVC 3 è ancora in fase di sviluppo, quindi non puoi aspettarti che sia ancora completamente ottimizzato. Almeno aspetta fino a quando non tocca RTM. –
+1 Darin - non può aspettarsi che un prodotto in fasi alfa/beta sia completamente ottimizzato. – Oded
Questa è una risposta perfettamente adatta, perché la invieresti come commento? – Slavo