No, la risposta alla mia seconda domanda non è l'inverno.
Prefazione:
Recentemente ho fatto molte ricerche su Entity Framework e qualcosa che continua a darmi fastidio sono le sue prestazioni quando le query non sono riscaldate, le cosiddette query fredde.
Ho esaminato l' articolo sulle considerazioni sulle prestazioni per Entity Framework 5.0. Gli autori hanno introdotto il concetto di query Warm e Cold e come differiscono, cosa che ho notato anche io senza sapere della loro esistenza. Probabilmente vale la pena menzionare che ho solo sei mesi di esperienza alle spalle.
Ora so su quali argomenti posso ricercare ulteriormente se voglio comprendere meglio il framework in termini di prestazioni. Sfortunatamente la maggior parte delle informazioni su Internet sono obsolete o gonfie di soggettività, da qui la mia incapacità di trovare ulteriori informazioni sull'argomento delle query Warm vs Cold .
Fondamentalmente quello che ho notato finora è che ogni volta che devo ricompilare o gli hit di riciclaggio, le mie domande iniziali stanno diventando molto lente. Qualsiasi lettura successiva dei dati è veloce ( soggettiva ), come previsto.
Migreremo a Windows Server 2012, IIS8 e SQL Server 2012 e come Junior mi sono effettivamente guadagnato l'opportunità di testarli prima degli altri. Sono molto felice che abbiano introdotto un modulo di riscaldamento che preparerà la mia applicazione per quella prima richiesta. Tuttavia, non sono sicuro di come procedere con il riscaldamento di Entity Framework.
Quello che già so vale la pena fare:
- Genera le mie visualizzazioni in anticipo come suggerito.
- Alla fine sposta i miei modelli in un assieme separato.
Quello che considero di fare, seguendo il buon senso, probabilmente un approccio sbagliato :
- Esecuzione di letture di dati fittizi all'avvio dell'applicazione per riscaldare, generare e convalidare i modelli.
Domande:
- Quale sarebbe l'approccio migliore per avere un'elevata disponibilità sul mio Entity Framework in qualsiasi momento?
- In quali casi Entity Framework si "raffredda" di nuovo? (Ricompilazione, riciclaggio, riavvio IIS ecc.)