Nein, die Antwort auf meine zweite Frage ist nicht der Winter.
Vorwort:
Ich habe in letzter Zeit viel über Entity Framework recherchiert und etwas, das mich immer wieder stört, ist die Leistung, wenn die Abfragen nicht aufgewärmt sind, sogenannte Cold-Abfragen.
Ich habe den Artikel zu Leistungsüberlegungen für Entity Framework 5.0 durchgearbeitet. Die Autoren stellten das Konzept der warmen und kalten Abfragen vor und wie sie sich unterscheiden, was ich auch selbst bemerkte, ohne von ihrer Existenz zu wissen. Hier ist es wahrscheinlich erwähnenswert, dass ich nur sechs Monate Erfahrung hinter meinem Rücken habe.
Jetzt weiß ich, zu welchen Themen ich zusätzlich recherchieren kann, wenn ich das Framework in Bezug auf die Leistung besser verstehen möchte. Leider sind die meisten Informationen im Internet veraltet oder voller Subjektivität, daher kann ich keine zusätzlichen Informationen zum Thema Warm vs Cold- Abfragen finden.
Grundsätzlich ist mir bisher aufgefallen, dass meine anfänglichen Anfragen sehr langsam werden, wenn ich neu kompilieren muss oder die Recycling-Treffer. Alle nachfolgenden gelesenen Daten sind erwartungsgemäß schnell ( subjektiv ).
Wir werden auf Windows Server 2012, IIS8 und SQL Server 2012 migrieren und als Junior habe ich mir tatsächlich die Gelegenheit erarbeitet, sie vor dem Rest zu testen. Ich bin sehr froh, dass sie ein Aufwärmmodul eingeführt haben, das meine Bewerbung für diese erste Anfrage vorbereitet. Ich bin mir jedoch nicht sicher, wie ich mein Entity Framework aufwärmen soll.
Was ich bereits weiß, lohnt sich:
- Generieren Sie meine Ansichten im Voraus wie vorgeschlagen.
- Verschieben Sie meine Modelle schließlich in eine separate Baugruppe.
Was ich mit gesundem Menschenverstand für wahrscheinlich falsch halte :
- Beim Anwendungsstart werden Dummy-Daten gelesen, um die Modelle aufzuwärmen, zu generieren und zu validieren.
Fragen:
- Was wäre der beste Ansatz, um jederzeit eine hohe Verfügbarkeit in meinem Entity Framework zu haben?
- In welchen Fällen wird das Entity Framework wieder "kalt"? (Neukompilierung, Recycling, IIS-Neustart usw.)