Announcement

Collapse
No announcement yet.

Entity Framework 6.0 - Erster Zugriff langsam

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Entity Framework 6.0 - Erster Zugriff langsam

    Hi,
    Gibt es eine möglichkeit, die erste Abfrage zu beschleunigen?
    Wenn ich eine simple Abfrage sende dauert das dass erste mal ca. 20 Sek, danach geht es schnell.
    Ich habe es mit Caching der Views probiert, jedoch wenn ich eine Technik davon nutze habe ich keine bessere Perfomance der erste start dauert immer noch 20 Sekunden.

    Ich benutze das neuste EF 6 und Code First

  • #2
    Mach doch einfach eine erste Abfrage wenn Du Dein Programm startest. Diese brauchst Du ja nicht auswerten. So ein Art Warmup. Natürlich ist es schon merkwürdig, dass der erste Zugriff solange dauert, das kann aber sehr viele Gründe haben.

    Comment


    • #3
      Danke für die Antwort, aber das muss schneller gehen ich habe noch mal nachgeschaut es gibt eine Möglichkeit das erste laden durch Pre-generated Views zu erstellen nur funktioniert das nicht so wie ich das verstehe. Meine Frage ist deshalb, kennt sich damit jemand aus?

      Comment


      • #4
        kennt sich damit jemand aus?
        Eventuell...
        Aber ohne Kenntnis der verwendeten Software (MS SQL Server ?) sowie des Quellcodes (wohl ASP.NET) wird das ein Stochern im Nebel.
        MfG
        Cheat-Sheets for Developers / Programming Quotes

        Comment


        • #5
          SQL Server und C# mit Winforms.
          ich konnte das Problem aber mittlerweile lösen, der trick ist mit dem edmx zu arbeiten, daraus lassen sich drei Dateien erzeugen, welche man beim Connectionstring angeben kann.
          Dadurch konnte ich den Start der Anwendung von 24 Sekunden auf 1 Sekunde und die erste Abfrage auf 4 Sekunden verkürzen. Die zweite Abfrage hatte dann sogar nur noch 0,005 Sekunden gedauert.
          Man muss nur darauf achten das edmx aktuell zu halten.

          Danke für die schnellen Antworten und die Mühe mir zu helfen

          Comment


          • #6
            Hallo,

            kurz zur Erklärung warum es bei Code First so lange beim 1. mal dauert und zwar da das Modell erst durch Reflection aus den Klassen abgeleitet werden muss. Wenn kein eigenes Mapping verwendet wird, so muss sogar per Konvention das Modell erstellt werden und das ist halt ziemlich aufwändig und Reflection per se langsam.

            Wenn mit EDMX gearbeitet wird, also Model-First bzw. Database-First, so existiert das Modell schon und muss nicht erst erzeugt werden.
            D.h. bei Code-First wird sozusagen das EDMX erst zur Laufzeit erstellt.

            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment

            Working...
            X