Announcement

Collapse
No announcement yet.

Zugriff auf eine lokale Firebird- Datenbank ist sehr langsam

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

  • Zugriff auf eine lokale Firebird- Datenbank ist sehr langsam

    Hallo,<br><br>
    ich habe eine Anwendung geschrieben, die die Daten aus einer Paradox-DB in eine Firebird-DB kopiert. Zugriff erfolgt über BDE-Treiber, Datenbank liegt lokal vor. Ich benutze <b>Firebird 1.5 Release Candidat 7</b>. Bei mir zuhause hat es einwandfrei funktioniert. Dann habe ich festgestellt, dass die Anwendung an anderen Rechnern nur sehr langsam läuft. Hier sind einige Vergleiche für dieselbe Datenbank:<br><br>
    (1) AMD K6 400 MHz / Win98 : ca. 30 min <br>
    ca. 100 % CPU-Auslastung<br><br>

    (2) Athlon XP 1.33 GHz / Win2000 : ca. 17 min <br>
    ca. 30-70 % CPU-Auslastung<br><br>

    (3) AMD Duron 1 GHz / Win2000 : ca. 6 min <br>
    ca. 80 % CPU-Auslastung<br><br>

    (4) PIV 2.6 GHz / Win XP : ca. 1 Std: 13 min <br>

    (5) Athlon 2 GHz / Win XP : ca.- 29 min
    <br><br>

    Könnte es auf ein Problem von Firebird unter WinXP hindeuten oder liegt es an der Konfiguration von Firebird? <br><br>
    MfG, Dennis

  • #2
    Hallo Dennis,
    <br><br>
    kann es sein, dass Du <b>.gdb</b> als Dateiendung für die Datenbankdatei verwendest? Wenn ja, dann verwende etwas, was nicht durch das System-Restore-Feature von Windows XP beeinflußt wird. Es hat sich <b>.fdb</b> als eine Art Quasi-Standard etabliert. Zumindest unterstützen die meisten Drittherstellertools diese Endung in einem Öffnen/Speichern Dialog. Du kannst allerdings auch gar keine Dateiendung verwenden. Firebird kümmert es nicht wirklich, welche Dateiendung Du verwendest.
    <br><br>
    Übrigens, ich würde Dir empfehlen, dass Du Firebird 1.5 Final, und nicht einen Release Candidate einsetzt
    <br><br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Hallo Thomas,<br><br>
      ich benutze <b>.fdb</b> als Dateiendung. Daran dürfte es eigentlich nicht liegen. Danke für den Tip, Firebird 1.5 Final werde ich gleich ausprobieren.<br><br>
      Grüsse<br>
      Denni

      Comment


      • #4
        Hallo,<br><br>
        ich habe Firebird 1.5 Final ausprobiert und habe dieselbe Ergebnisse. Hat jemand eine Idee woran es liegen könnte?<br><br>
        Grüsse<br>
        Denni

        Comment


        • #5
          Hi,

          um ganz sicher zu gehen, würde ich vielleicht den Rechner ganz formatieren und das Betriebssystem neu aufspielen.

          Denn es könnte theoretisch sein, das sich viel Datenmüll auf dem Rechner (der P4) befindet, der zu Performancestörungen führt. 1 Std. hört sich im Vergleich zu den anderen Zeiten einfach sehr viel an.

          Halt, einen anderen Tip habe ich noch: Evtl. bringt es was, einige Zeitoperationen zu messen und versuchen, sie dort, wo sie zu langsam sind, durch andere Befehle zu ersetzen, so das es vielleicht zu einer Optimierung kommt.

          Grüsse,
          Carste

          Comment


          • #6
            Hallo Dennis,

            kann es sein, daß der P4 Hyperthreading hat? Deaktivier das mal.

            Weiterhin gibt es keinen Athlon XP 1.33 GHz und keinen Athlon 2 GHz. Ich vermute mal, daß es sich um einen Athlon 1.33 GHz und einen Athlon XP 2000 + handelt. (?)

            Außerdem ist das nicht nur von der CPU abhängig, sondern auch von den verwendeten HDD(s), den Board, dem RAM, vom gesamten System eben. Mich wundert's nur, daß der Duron so schnell sein soll...

            Grüße Joche

            Comment


            • #7
              Hallo Dennis,
              <br><br>
              zusätzlich zu Carsten's und Jochen's Kommentaren würde ich auch noch nachsehen, ob auf allen Datenbanken FORCED WRITES = ON oder OFF ist (du machst das mit <b>gstat</b>, oder IBExpert, Database Workbench, ...).
              <br><br>
              Verwendest Du für das Connect immer das selbe Protokoll? Wie sieht bei Dir der Connect-String zur Datenbank aus? Verwendest Du auf jedem Rechner die selbe BDE Version? Befindet sich auf jedem Rechner eine gds32.dll/fbclient.dll Version, die mit der Serverversion übereinstimmt?
              <br><br>
              Auf Anhieb hätte ich (so wie die anderen auch) auf die Dateiendung oder Hyperthreading getippt.
              <br><br>
              Schöne Grüße,
              <br>
              Thoma
              Thomas Steinmaurer

              Firebird Foundation Committee Member
              Upscene Productions - Database Tools for Developers
              Mein Blog

              Comment


              • #8
                Hallo,<br><br>

                Carsten: Bei den beiden XP-Rechner sind die Betriebssysteme frisch installiert. Man kann die Operationen kaum noch Optimieren, da es sich im wesentlichen um unverschachtelte Abfragen (INSERT in Firebird-DB) handelt. Ich glaube dass noch eine interne Optimierung der Abfragen durch DB-Optimierer statt findet.<br><br>
                Jochen: Was die Prozessore angeht, da hast du recht. Habe ich verwechselt. Ich habe HT beim P4 deaktiviert und es wurde schneller. Ich habe ca. 40 min gemessen (ist aber trotzdem langsam im Vergleich mit anderen Ergebnissen). Und ich habe die Datei Windows\system32\drivers\etc\servieces mit <b>gds_db 3050/tcp</b> ergänzt. Ob das was bringt?<br><br>
                Thomas: FORCEDWRITES ist ON. Ich verwende immer das selbe Protokoll und dieselbe BDE-Version. <b>gds32.dll</b> befindet sich im c:\windows\system32 Verzeichniss (wird bei der Installation von Firebird darein kopiert). <b>fbclient.dll</b> liegt im Firebird-Verzeichnis. Wenn ich das richtig verstehe, ist gds32.dll bloß ein link auf fbclient.dll<br>Ich greife auf die Datenbank über TDataBase- Komponente und setze die Eigenschaften DatabaseName und AliasName auf ein BDE-Alias den ich vorher temporär erzeuge. Oder was meintest Du mit Connect-String?<br><br>
                Grüsse<br>
                Denni

                Comment

                Working...
                X