Wichtiges Update: Siehe Update 5 unten gibt es keine Performance-Problem in asp.net MVC 3, das ist ein Benchmark-EmissionASP.NET MVC 3 Razor -leistung
ich eine einfache Hallo Welt gemacht haben Projekt in asp.net mvc2,3 aspx und 3 Rasierer und Benchmarked sie. Was ich sehe ist:
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
Was ist los mit Rasiermesser, es ist so langsam?
Update: Ich habe den Test wiederholt. Alle 4 virtuellen Test-Verzeichnisse verwenden den gleichen .net 4 App-Pool für den integrierten Modus. Alle Projekte werden mit einem neuen leeren x-Projekt erstellt und 1 Seite mit 1 Linientext und ohne Code hinzugefügt. Alle Websites werden im Freigabemodus kompiliert. Mein System ist Windows 7, 4 GB i7 4 Kerne. Ich habe den Test 2 Mal ausgeführt, um IIS aufzuwärmen, und dies sind die Ergebnisse des zweiten Laufs. Apache Bank Parameter: ab -n100000 -c1000 Ergebnisse:
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 in seinem Blog beantwortet:
Wir haben noch nicht vollständig optimiert MVC3 (es gibt in der Regel ein viel Cache-Tuning machen wir). Wir erwarten, dass Rasierklingen die gleiche Leistung wie die ASPX View-Engine aufweisen, bevor sie veröffentlicht wird.
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 alle Tests im Release-Modus gemacht, aber war das Problem debug="true"
in meiner web.config-Datei (die auch baut Effekte release), nach dem Wechsel auf false, Problem behoben. Und es ist interessant, wie es in dieser Größenordnung nur rasiermesserschablonen funktioniert. Dies sollte bei Bereitstellungen im Hinterkopf bleiben.
System Requests per second CPU Utilization
----------------------------------------------------
mvc 3 rc2 razor 3940 58%
mvc 3 rc2 aspx 4100 58%
Dank asp.net mvc team, ausgezeichnete Arbeit!
Wie haben Sie den Benchmark durchgeführt? Wurde Ihre Site im Modus "Release" auf IIS bereitgestellt? Haben Sie die [' '](http://www.aspdotnetfaq.com/Faq/What-does-deployment-retail-true-attribute-in-machine-config-file- verwendet means.aspx) Abschnitt in Ihrer machine.config? Denken Sie auch daran, dass ASP.NET MVC 3 immer noch stark entwickelt ist und Sie daher nicht erwarten können, dass es vollständig optimiert ist. Warten Sie mindestens, bis es RTM erreicht. –
+1 Darin - kann nicht erwarten, dass ein Produkt in Alpha/Beta-Stufen vollständig optimiert wird. – Oded
Das ist eine perfekte Antwort, warum würden Sie es als Kommentar einreichen? – Slavo