Vi har utvecklat en site i .net nu men upplever att den är rätt långsam. Därför:
- Hur och med vilket program stresstestar vi siten?
- Hur gör vi profiling på siten?
- Vilka är de vanliga orsakerna till att det går långsamt?
- Vi har <compilation debug="true"> eftersom vi fortfarande utvecklar. Kan det vara orsaken?
renholmMedlem sedan apr. 20012 266 inlägg 1. Finns ett program som kommer med Visual Studio .NET som kan användas för stress test, har tyvärr glömt vad det heter, har det själv inte installerat.
2. Hur menar du då?
3. Databasen överbelastas dvs du kanske har en massa connections öppna till den. Se till att stänga alla så fort du är klar.
4. Kanske inte hela orsaken men en del av den.
PMedlem sedan jan. 20012 204 inlägg 1. Finns det inget inbyggt i Visual Studio? Såg det på en visningen en gång...
Genom profiling kan man ta reda på vilka delar i programmet som tar längst tid.
PaceMedlem sedan juni 20019 024 inlägg Går inte det med trace då ("profiling" alltså)?
renholmMedlem sedan apr. 20012 266 inlägg
P skrev:
1. Finns det inget inbyggt i Visual Studio? Såg det på en visningen en gång...
Sa inte att det var inbyggt men det kommer ett program som kan användas för att kontrollera prestandard.
Annars använd detta http://webtool.rte.microsoft.com.
PMedlem sedan jan. 20012 204 inlägg hmm jag har fått intrycket av att typ alla .Net sidor är långsamma jämfört med tex php... stämmer detta?
renholmMedlem sedan apr. 20012 266 inlägg Än så länge har jag inte sett någon fakta som skulle bevisa detta, men visst kan PHP vara snabbare på vissa saker medans .NET snabbare på andra.
Ofta hör man "PHP geeks" säga "asp suger, php är så mycket bättre.". Sedan svarar man att man håller på med ASP.NET och då får man oftas svaret "PHP är bättre än det också". Detta påstår de utan någon som helst fakta bakgrund egentligen. Och inte heller någon aning om vad .NET är eftersom de oftas reagerar på ASP som är dåligt i deras ögon.
Hoppas ingen som är duktig på PHP känner sig träffad av detta för det är inte alla som håller på så här.
PMedlem sedan jan. 20012 204 inlägg men är asp.net snabbare än asp?
ViktorMedlem sedan aug. 20021 752 inlägg
renholm skrev:
3. Databasen överbelastas dvs du kanske har en massa connections öppna till den. Se till att stänga alla så fort du är klar.
En annan sak är att kanske köra med connection pooling om du har mycket db access. Det som tar mest kraft/tid är ofta att öppna en ny connection till databasen.
/Viktor
NETworkMedlem sedan juni 20011 732 inlägg men är asp.net snabbare än asp?
Om!!! Asp.net kompileras, gamla asp intepreteras vilket även PHP gör. Inte troligt att php är snabbare än asp.net som ju också intepreteras... Finns naturligtvis fler skillnader som påverkar hastigheten upp och ner.
En sak som kan påverka prestandan är viewstate som kan vara vldigt stor (i kb räknat att ladda ned alltså) exempelvis om du har stora datagrids. Stäng av denna där det är möjligt. Utnyttja även cachefunktioner!
PaceMedlem sedan juni 20019 024 inlägg NETworkMedlem sedan juni 20011 732 inlägg
Pace skrev:
PetShop-applikation i J2EE vs. .NET:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdasamppet.asp
.NET vann.
Fast att därifrån säga att .net är snabbare än Java skulle jag inte våga göra. Här är det nog ganska jämt. Och som alltid så är det den som sitter bakom spakarna som sätter hastigheten. :)
PaceMedlem sedan juni 20019 024 inlägg Det har jag aldrig påstått heller. ;)
renholmMedlem sedan apr. 20012 266 inlägg Sun säger att deras PetShop exempel inte var till för att mäta hur snabbt java är utan till för att visa vad man kan göra med Java.
Troligtvis hade de inte sagt det om det var tvärtom.
PaceMedlem sedan juni 20019 024 inlägg I länken ovan (och på msdn.microsoft.com) så står det att det är en modifierad och optimerad variant av PetShop, alltså inte den som du nämner.
KrompMedlem sedan okt. 2002103 inlägg sen kan ju det upplevas som att det går segt vid compile som sker lite då och då.... gå in på sidan igen strax efter så bara smäller det till av speed.... sen beror ju det på hur kod ser ut, servermiljö, bandbredd etc vid hastighetsskillnad mellan olika språk som sagt, dom som gormar om php är bäst etc vet ju inte vad dom pratar om, interpreterande suger alltid jämfört med kompilerat.
1. ms har en app som heter web application stress tool, sök så hittar du, den är antagligen med i sdk'n...
2. testa perfmon om det är tillräckligt...
3. oftast är det databasen som bromsar säger jag... kika på aktiviteten och responstider där först.... för att speeda upp saker sidor som går mycket mot db kan jag varmt rekommendera outputcache direktivet....
4. tror inte det är det...
PMedlem sedan jan. 20012 204 inlägg vad är skillnaden mellan interpreterande/kompilerat?
NETworkMedlem sedan juni 20011 732 inlägg I kompilerande språk översätts språkets instruktioner (koden) till maskinkod av en kompilator. Kompilatorn analyserar även koden och gör den snabbare och mer effektiv (optimering). Det tar ett litet tag att kompilera koden, men i gengäld så får man en mycket effektiv och snabb kod när den väl är kompilerad.
Ett intepreterande språk kompileras inte förrän programmet exekveras, exempelvis när du besöker en gammal asp- eller php-web. Denna process måste då göras varje gång någon går in på sidan vilket medför en avsevärd prestandaförlust.
När det gäller .net så ligger dessutom den kompilerade applikationen i serverns ramminne vilket snabbar upp hanteringen av funktionerna än mer. Om du använder visual studio.net och codebehind så kompilerar du din kod till sk assemblys, den kompilerade koden sparas allltså som en dll-fil.
jtMedlem sedan juni 2000350 inlägg