2012-06-12 10 views
10

Uaktualniłem duży projekt do MVC4 RC dzisiaj, aby wypróbować sprzedaż wiązaną i zminimalizowaną.Pakiety skryptów MVC4 RC bardzo powolne

Zanim miałem 8 statycznych plików js w skryptowych znacznikach src w częściowym widoku. Przykładowa strona trwała średnio poniżej 1 sekundy.

dodałem wiązkę tak:

bundles.Add(New ScriptBundle("~/bundles/mybundle").Include(
       "~/Resources/Core/Javascripts/jquery-1.7.1.min.js", 
       "~/Resources/Core/Javascripts/jquery-ui-1.8.16.min.js", 
       "~/Resources/Core/Javascripts/jquery.validate.min.js", 
       "~/Resources/Core/Javascripts/jquery.validate.unobtrusive.min.js", 
       "~/Resources/Core/Javascripts/jquery.unobtrusive-ajax.min.js", 
       "~/Resources/Core/Javascripts/bootstrap.min.js", 
       "~/Resources/Core/Javascripts/toolbar.js", 
       "~/Resources/Core/Javascripts/jquery-ui-timepicker-addon.js")) 

w częściowym dodałem to i czas ładowania strony zwiększone do .5 sekund konsekwentnie z kompilacji debugowania jako prawdziwe i jako fałszywe. @ Scripts.Render ("~/pakiet/mybundle")

że owija go miniprofiler tak:

Dim profiler = MiniProfiler.Current 
Using profiler.Step("bundling") 
     @Scripts.Render("~/bundles/mybundle") 
End Using 

Etap zwijania wykonuje .4 sekund ciągły.

Komputer to działający VS2010 na nowoczesnym sprzęcie z dyskiem SSD o wysokich parametrach i bez niestandardowych zadań działających w tle. Jak tylko usuniemy @ scripts.render czas ładowania strony spadnie ponownie do .1 sekund.

Czy istnieje sposób, aby zrobić bufor cache lub czy brakuje mi czegoś, co czyni to tak wolno?

+0

.4 sekundy są całkiem dobre w porównaniu do tego, co mam teraz - około 45 sekund !!! – reach4thelasers

Odpowiedz

8

Jest to znany błąd związany ze sprzedażą pakietową w środowisku ASP.NET MVC 4 RC. Pakowanie pakietów nie jest buforowane po stronie serwera.

błąd jest szczegółowo opisane tutaj: http://todd-carter.com/post/2012/06/10/mini-me-fication-in-system-web-optimization-rc-is-evil/

nie powinno być aktualizacja do Nuget MVC 4 RC pakietu kiedyś w tygodniu kończącym się 17 czerwca 2012 roku (źródło: https://twitter.com/howard_dierking/status/212725872904507392)