FAQ |
Kalender |
2011-09-03, 20:40 | #1 | |||
|
||||
Medlem
|
Vilka är era tips för att snabba upp webbsidor (C# ASP.Net). Cashing och annat som Http compress med mera. Dataset eller Datatable? Datalist eller reapeter. Min receptsajt är rätt slö och det finns nog mycket man kan göra. Men vad har ni för tips?
|
|||
Svara med citat |
2011-09-03, 22:20 | #2 | |||
|
||||
Mycket flitig postare
|
Det var en väldigt bred fråga.
Ta först reda på vad som behöver justeras (med t.ex. perfmon). Fixa sedan de värsta flaskhalsarna först. DataReaders är snabbast men är mer low-level och det kanske inte är något för dig som startar en tråd som den här år 2011. EntityFramework (EF) eller andra ORM:s är mycket lättare att jobba med nuförtiden även om det är ganska lätt att skriva ineffektiva frågor. Med tiden lär man sig vad man ska undvika, hoppas jag. Jag upplever att man fortfarande har bättre kontroll med DataReaders och men produktiviteten tar stryk jämfört med att använda en ORM (jag gillar EF). EF är mycket mer lättjobbat än DataSets (DS) som suger i jämförelse. DS är föråldrat och saknar funktioner som finns i EF. Hur som helst: idag behöver man inte skriva sitt eget datalager utan kan istället köra med t.ex. EF eller NHibernate för att spara tid. Hur omfattande prestandajusteringar man behöver göra beror lite på projektets storlek och ens erfarenhet. För mindre projekt är det fruktansvärt tidseffektivt med ORMs! Repeater har mindre overhead än datalist men om det gör nån påtaglig skillnad är jag inte rätt person att svara på. Kanske om man har en jäääkla massa repeaters och inte bara ett par stycken per sida men det är en gissning från min sida. Några frågor som kan vara värda att tänka på ang. optimeringsbiten:
Att minska antalet databasanrop, cacha anrop mot externa källor och slå på db- och/eller output-cachen brukar göra susen. Man kan också undra om databasen på samma server som webbservern? Beroende på hur belastningen ser ut kan man argumentera för att de borde ligga på olika burkar. Om de redan gör det - hur ser nätverket och övrig hårdvara ut? Körs något virtuellt? Vidare kan olika versioner av OS & program sätta gränser för tillgängligt RAM och antal samtidiga anslutningar t.ex. |
|||
Svara med citat |
Svara |
|
|