[MVC4] View renderen duurt te lang

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 11:28
Ik ben wat aan het spelen met Glimpse in een simpele MVC4 webapp, en nu vind ik dat een bepaalde view wel erg lang duurt om te renderen:
Afbeeldingslocatie: http://i45.tinypic.com/2j4c5e8.png
324ms voor de Index view dus. Deze view rendert vijf simpele partial views, verder niks bijzonders. Dus om te kijken waar het nu in zat ben ik een voor een views weg gaan halen, totdat ik uiteindelijk een lege view over had (alleen de ViewBag.Title werd nog geset):
Afbeeldingslocatie: http://i50.tinypic.com/35a3u2o.png
Alsnog 308ms voor een volledig lege view! :? Ik weet nu niet meer waar ik het moet zoeken, iemand een idee of dit "normaal" is?

Ohja:
• Het is een release build
• <compilation debug="false" />

Sorry voor de brede screenshots overigens, als ik ze resize blijft er weinig leesbaars over.

[ Voor 4% gewijzigd door sig69 op 10-07-2012 21:38 ]

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 07-05 20:56
Wat staat er (precies) in de index view?

[ Voor 14% gewijzigd door R4gnax op 10-07-2012 22:29 ]


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 11:28
Dit is alles:
C#:
1
2
3
4
5
6
@using TestApp.Models;
@model TestApp.Models.TestViewModel
@{
    ViewBag.Title = "Trades";
}
<h2>@ViewBag.Title</h2>

TestViewModel is een simpele class met een paar strings en ints:
C#:
1
2
3
4
5
public class TestViewModel
{
  public string StringA {get;set}
  // Enzovoorts
}

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • R4gnax
  • Registratie: Maart 2009
  • Laatst online: 07-05 20:56
Wordt er toevallig nog een master _layout view gebruikt? Kan zijn dat Glimpse die natuurlijk nog in de render tijd meeneemt en dat daar iets complex in verborgen zit.

324ms lijkt me namelijk inderdaad een beetje veel tijd om te besteden aan het ophalen van één string uit de ViewBag. Zelfs als deze type dynamic is, zou dat niet zo lang mogen duren...

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 11:13
Is hij de tweede keer als je naar de view navigeert ook traag? Want de eerste keer dat je ze probeert te renderen moeten ze gecompileerd worden.

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 11:28
@R4gnax: er wordt een master _Layout gebruikt ja, maar daar zit volgens mij niets spannends in, zal ik zo nog even checken

@Avalaxy: 1e, 2e, 10e keer, maakt allemaal niet uit. Het varieert +/- 10ms ofzo soms

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Heb je geen problemen met een MVC 3 app? Misschien dat er gewoon iets in IIS verkeerd staat o.i.d.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 29-04 19:36
Als ik een default mvc4 template website opstart en doorheen navigeer dan krijg ik mn resultaat binnen 40ms op mn scherm.. +/- 200ms als ik de debugger eraan hang.. dus ik weet niet wat je doet.. maar ergens klopt er iets niet. :+

Heb je misschien wat ActionFilters die dingen voor je doen? (al dan niet via IoC geinjecteerd). Doe je wellicht niet ergens toch een database call?

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 11:28
Ik heb m'n _Layout view nog even bekeken: er worden wat styles en scripts gerenderd, that's it. Ga ik nog wel even verder mee klooien, dingen uitzetten en dergelijke.

Ik ben verder ook nog even wat aan het testen geweest met de default templates:
• Default MVC4 template in ASP.Net dev server: 120-130ms
• Default MVC4 template in IIS Express: 85-110ms
• Default MVC3 template in ASP.Net dev server: 1ms(!)
• Default MVC3 template in IIS Express: 0-1ms(!)

Update: na wat experimenteren in de _Layout view blijkt dat de meeste tijd in het het renderen van de scripts bundles te zitten, nu nog even een oplossing zoeken ;)

Update2: Het blijkt een bug te zijn in het script bunling gebeuren: http://todd-carter.com/po...imization-RC-is-Evil.aspx
Er is een nuget update voor (eennalaatste comment), hij is van 300ms naar 12ms gegaan, nogal een verschil :)

[ Voor 31% gewijzigd door sig69 op 11-07-2012 10:00 ]

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • D-Raven
  • Registratie: November 2001
  • Laatst online: 29-04 19:36
sig69 schreef op woensdag 11 juli 2012 @ 09:29:
Ik heb m'n _Layout view nog even bekeken: er worden wat styles en scripts gerenderd, that's it. Ga ik nog wel even verder mee klooien, dingen uitzetten en dergelijke.

Ik ben verder ook nog even wat aan het testen geweest met de default templates:
• Default MVC4 template in ASP.Net dev server: 120-130ms
• Default MVC4 template in IIS Express: 85-110ms
• Default MVC3 template in ASP.Net dev server: 1ms(!)
• Default MVC3 template in IIS Express: 0-1ms(!)

Update: na wat experimenteren in de _Layout view blijkt dat de meeste tijd in het het renderen van de scripts bundles te zitten, nu nog even een oplossing zoeken ;)

Update2: Het blijkt een bug te zijn in het script bunling gebeuren: http://todd-carter.com/po...imization-RC-is-Evil.aspx
Er is een nuget update voor (eennalaatste comment), hij is van 300ms naar 12ms gegaan, nogal een verschil :)
Ah dat verklaart. En is goed om te weten ook...

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 11:28
Inderdaad, alles wat je bouwt op de default MVC4 template zonder update krijgt dus meteen een flinke performance hit mee.. Ik heb het aan m'n collega's laten zien en ze zijn allemaal verbaasd hoe bloedsnel deze webapp nu is (en dat nog allemaal zonder fancy ajax/json shizzle, gewoon bot de volledige pagina laden) >:)

Roomba E5 te koop

Pagina: 1