Non, la réponse à ma deuxième question n'est pas l'hiver.
Préface:
J'ai récemment fait beaucoup de recherches sur Entity Framework et ce qui me dérange, ce sont ses performances lorsque les requêtes ne sont pas préchauffées, appelées requêtes froides.
J'ai parcouru l' article sur les considérations de performances pour Entity Framework 5.0. Les auteurs ont introduit le concept de requêtes chaudes et froides et en quoi elles diffèrent, ce que j'ai également remarqué moi-même sans connaître leur existence. Ici, il vaut probablement la peine de mentionner que je n'ai que six mois d'expérience derrière mon dos.
Maintenant, je sais sur quels sujets je peux effectuer des recherches supplémentaires si je veux mieux comprendre le cadre en termes de performances. Malheureusement, la plupart des informations sur Internet sont obsolètes ou surchargées de subjectivité, d'où mon incapacité à trouver des informations supplémentaires sur le sujet des requêtes Warm vs Cold .
Fondamentalement, ce que j'ai remarqué jusqu'à présent, c'est que chaque fois que je dois recompiler ou que le recyclage se produit, mes requêtes initiales deviennent très lentes. Toute lecture ultérieure des données est rapide ( subjective ), comme prévu.
Nous allons migrer vers Windows Server 2012, IIS8 et SQL Server 2012 et en tant que Junior, je me suis en fait mérité l'opportunité de les tester avant les autres. Je suis très heureux qu'ils aient introduit un module de préchauffage qui préparera mon application pour cette première demande. Cependant, je ne sais pas comment procéder avec le préchauffage de mon Entity Framework.
Ce que je sais déjà vaut la peine:
- Générez mes vues à l'avance comme suggéré.
- Déplacez éventuellement mes modèles dans un assemblage séparé.
Ce que je considère faire, en allant avec le bon sens, est probablement une mauvaise approche :
- Faire des lectures de données factices au démarrage de l'application afin de réchauffer, générer et valider les modèles.
Des questions:
- Quelle serait la meilleure approche pour avoir une haute disponibilité sur mon Entity Framework à tout moment?
- Dans quels cas Entity Framework redevient-il "froid"? (Recompilation, recyclage, redémarrage IIS, etc.)