Announcement

Collapse
No announcement yet.

SuSE / PostgreSQL: Langsame Hardware ist schneller

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

  • SuSE / PostgreSQL: Langsame Hardware ist schneller

    Hallo beisammen,

    ich bin nicht sicher, ob jemand eine Antwort darauf hat... ich bin jedenfalls verwirrt:

    Auf zwei Maschinen laufen jeweils SuSE 8.1 und PostgreSQL 7.4.2 mit identischem Datenbankinhalt.

    Der "Produktionsserver" ist ein Dual Pentium II 450MHz mit 256MB Speicher, einer IBM SCSI HD mit 8GB an einem Onboard (Asus) Adaptec Controller.

    Die "Spielkiste" ist ein (noch älterer) Pentium MMX 166MHz (!!) mit 64MB und einer IDE Quantum Fireball mit 4.6GB.

    Zum Performancevergleich dient eine PostgreSQL-UDF, die zeilenweise Daten vom Client erhält und auf dem Server (falls bereits vorhanden) aktualisiert bzw. eben neu anlegt. Es handelt sich also um eine Funktion, die auf dem Server abgearbeitet wird und sehr "festplattenorientiert" ist.

    Jetzt kommt das Unverständliche: Der Pentium 166 ist dabei sogar schneller (ca. 40 Zeilen pro Sekunde) als der eigentliche Server (ca. 25 Zeilen pro Sekunde).

    Ich dachte, dass sowohl die höhere Taktfrequenz als auch der größere Hauptspeicher als auch das SCSI-System eine viel bessere Performance an den Tag legen müsste.

    Beide Platten laufen unter ReiserFS, beide Rechner laufen mit dem von SuSE bei der Installation vorgeschlagenen Standardkernel...

    Fairerweise muss ich noch erwähnen, dass "normale" Operationen wie z.B. das holen von Zeilen mittels SELECT * FROM table WHERE xyz = '0815' auf dem kleinen System tatsächlich mess- und fühlbar länger dauern.

    Hat jemand eine Idee - sonst muss ich nämlich davon ausgehen, dass auch ein Upgrade auf ein aktuelles System (Xeon, >1GB Hauptspeicher, ...) keinen wirklichen Performancegewinn verspricht <g>.

    Ralph

  • #2
    Startest Du beide Male die Aktionen von der Maschine selbst?
    Sonst käme eine Firewall in Betracht, die hier läuft und da nicht.
    Hast Du postgresql selbst kompiliert?
    Beide Male gleich, oder einmal vielleicht mit 'optimize for speed'?

    Kannst Du mal Dateien auf den Platten einfach so hin- und herkopieren, um zu sehen, ob deren Geschwindigkeit Deinen Erwartungen entspricht

    Comment


    • #3
      Stefan,

      herzlichen Dank für Deine Antwort!

      Die Aktion (also der Aufruf der Funktion auf dem jeweiligen Server) erfolgt clientseitig mit einem SQL-Aufruf über TCP/IP aus einer selbst erstellten Applikation.

      Eine Firewall ist (so weit ich weiß) nicht aktiv - zumindest habe ich keine installiert bzw. konfiguriert. Bin aber nicht unbedingt der Linux-Crack, da könnte also tatsächlich etwas verborgen sein. BTW: Ich kann doch sicher irgendwie feststellen, welche Dienste auf einem Linux-Rechner aktiv sind... vielleicht sollte ich das mal tun <g>.

      PostgreSQL wurde von mir auf dem jeweiligen Server aus den Sourcen kompiliert (mittlerweile in der Version 7.4.5 auf beiden Servern) - aber jeweils mit den unveränderten Standardeinstellungen.

      Der Vorschlag mit dem lokalen Kopieren von Dateien ist gut... werde ich jetzt gleich mal tun.

      Grüße

      Ralp

      Comment


      • #4
        Stefan,

        hier ist das Ergebnis einer Kopieraktion:

        Es wurde auf beiden Systemen eine Datei identischer Größe (rund 122MB) innerhalb des selben Verzeichnisses mittels cp name nameneu kopiert.

        Das "große" System benötigte dafür ca. 12 Sekunden, das "kleine" ca. 45 Sekunden.

        Mit Hilfe von top habe ich auf beiden Rechnern keine verdächtigen Prozesse entdecken können, die die Performance verschlechtern könnten. Aber wie gesagt habe ich keine große Ahnung von Linux...

        HTH
        Ralp

        Comment

        Working...
        X