Ergebnis 1 bis 9 von 9

Thema: PGAdminIII: über Netzwerk performanter als alles andere

  1. #1
    treFFnix ist offline Benutzer
    Registriert seit
    25.03.2010
    Beiträge
    68

    Frage PGAdminIII: über Netzwerk performanter als alles andere

    Hallo,

    ich habe heute mit 2 PCs Tests gemacht (speziell mit einer Tabelle).
    Beide sind WIND0WS-Rechner.

    IP Rechner1: 192.168.1.10
    IP Rechner2: 192.168.1.15

    Diese Test-Tabelle liegt in einer Datenbank auf Rechner1.

    'Test-Tabelle' hat 6 Spalten, davon sind 2 Foreign Keys (on update & delete cascade) und 1 Unique not null primary key.

    Mein Test-Query:
    'SELECT * FROM Test-Tabelle'

    Es befinden sich 1,5mio Zeilen in dieser Test-Tabelle.

    1. Test mit PGAdminIII

    Rechner1 startet PGAdminIII, verbindet sich auf den 'localhost:5432' und setzt 'SELECT * FROM table' ab. Dauer der Abfrage: ~100 Sekunden.

    Rechner2 startet PGAdminIII, verbindet sich auf den '192.168.1.10:5432' und setzt 'SELECT * FROM table' ab. Dauer der Abfrage: ~10 Sekunden.

    Rechner1 startet PGAdminIII, verbindet sich auf den '192.168.1.10:5432' und setzt 'SELECT * FROM table' ab. Dauer der Abfrage: ~100 Sekunden.

    2. Test mit anderer Software

    Rechner1 startet Software, verbindet sich auf den 'localhost:5432' und setzt 'SELECT * FROM table' ab. Dauer der Abfrage: ~100 Sekunden.

    Rechner2 startet Software, verbindet sich auf den '192.168.1.10:5432' und setzt 'SELECT * FROM table' ab. Dauer der Abfrage: ~100 Sekunden.

    Ergebnis des Tests:

    Ich möchte gerne wissen, wie es PGAdminIII macht, dass er über Netzwerk/Remotedatenbank um Faktor 10 schneller ist ???

    Also an der Adresse des Servers liegt es schonmal nicht (1. und 3. Schritt des 1.Tests mit PGAdminIII).

    Gibt es Parameter in der postgresql.conf, welche bestimmen, dass Remoteanfragen mehr Ressourcen bekommen oder anders ausgeführt werden?
    Welchen Parameter müsste man wie verändern, um lokal auch so schnell zu werden?

    Order liegt es an keinem Parameter?

    MfG!!!

  2. #2
    treFFnix ist offline Benutzer
    Registriert seit
    25.03.2010
    Beiträge
    68

    Standard

    ok ich habe es jetz noch mit pgsql.exe getestet.
    pgsql.exe ist lokal genauso schnell wie es PGAdminIII remote ist.

    das vorläufige Ergebnis ist, dass unsere "andere Software" genauso langsam ist, wie PGAdminIII es lokal ist.
    PGAdminIII ist nicht Remote schneller, sondern lokal langsamer!


    Nun möchte ich wissen:
    Was macht PGAdminIII lokal so langsam (Faktor 10), und warum ist unsere 'andere Software' auch so langsam (lokal UND remote)?

    Oder st die Frage doch: was macht PGAdminIII remote so schnell und pgsql.exe remote UND lokal so schnell?

    MfG
    Geändert von treFFnix (19.05.2010 um 17:35 Uhr)

  3. #3
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von treFFnix Beitrag anzeigen
    ok ich habe es jetz noch mit pgsql.exe getestet.
    pgsql.exe ist lokal genauso schnell wie es PGAdminIII remote ist.

    das vorläufige Ergebnis ist, dass unsere "andere Software" genauso langsam ist, wie PGAdminIII es lokal ist.
    PGAdminIII ist nicht Remote schneller, sondern lokal langsamer!


    Nun möchte ich wissen:
    Was macht PGAdminIII lokal so langsam (Faktor 10), und warum ist unsere 'andere Software' auch so langsam (lokal UND remote)?

    Oder st die Frage doch: was macht PGAdminIII remote so schnell und pgsql.exe remote UND lokal so schnell?

    MfG
    Reste von Tischbrandschutzmauern aka Firewalls?

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    treFFnix ist offline Benutzer
    Registriert seit
    25.03.2010
    Beiträge
    68

    Standard

    wie meinst du das?
    die firewall wurde vor dem test deaktiviert, falls du das meisnt`?

  5. #5
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    pgAdminIII ist so langsam, weil es ein GUI aufbauen muss. Das benötigt die meiste Zeit, dagegen ist die Zeit für das Netzwerk schon fast zu vernachlässigen.
    Zu diesem Thema gab es schon den ein oder anderen Thread hier im Forum.

    Wenn eure Applikation also genauso langsam ist wie pgAdminIII, dürfte das ebenfalls am GUI liegen bzw. an der Art und Weise, wie ihr die Daten lest und weiter verarbeitet.
    Vielleicht könnt ihr die einzelnen Schritte ja mal ausmessen.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  6. #6
    treFFnix ist offline Benutzer
    Registriert seit
    25.03.2010
    Beiträge
    68

    Standard

    Vielen dank für die Antwort!

    Das ist für mich auch nachvollziehbar... nur eine Sache nicht:

    In meinem Test habe ich übe remote (mit PGAdminIII) eine sehr gute Zeit hinbekomen.
    Rechner2 startet PGAdminIII, verbindet sich auf den '192.168.1.10:5432' und setzt 'SELECT * FROM table' ab. Dauer der Abfrage: ~10 Sekunden.
    weiß jemand warum PGAdminIII über remote schneller den GUI aufbauen kann?
    könnte man das über einen Trick auch lokal hinbekommen?

    MfG



    *edit*

    habe mal weitergetestet:
    ich habe jetzt mal Rechner1 auf Rechner2 verbunden und habe den gleichen Test mit PGAdminIII gemacht.
    Hier ist der Faktor "nur" 4 und nicht 10.
    Das hat also mit der Leistung des Rechners zu tun, auf dem Abgefragt wird.

    Das sagt mir:
    der "Trick" um das lokal hinzubekommen,
    wäre, dass die GUI im Hintergrund erst komplett aufgebaut werden muss,
    bevor man sie anzeigt.
    Also so, wie es der Remote-Rechner bei remote-Abfragen wahrscheinlich macht.?
    Geändert von treFFnix (20.05.2010 um 10:06 Uhr)

  7. #7
    treFFnix ist offline Benutzer
    Registriert seit
    25.03.2010
    Beiträge
    68

    Standard

    ...ein weiterer Test mit unserer "anderen Software":
    wie haben die GUI komplett weggenommen --> keine Daten wurden auf den Bildschirm gebracht... das brachte nahezu keine verbesserung.

  8. #8
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Du solltest mal den Part eures Programmes im Detail ausmessen, der die Daten aus der Datenbank liest und im Programm weiter verarbeitet.
    Das dürfte der "Hot Spot" sein.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  9. #9
    treFFnix ist offline Benutzer
    Registriert seit
    25.03.2010
    Beiträge
    68

    Standard

    Weitere Tests:

    Rechner2 startet PGAdminIII, verbindet sich auf den '192.168.1.10:5432' und setzt 'EXPLAIN ANALYZE VERBOSE SELECT * FROM Tabelle;' ab.
    " {SEQSCAN "
    " :startup_cost 0.00 "
    " :total_cost 29018.23 "
    " lan_rows 1499923 "
    " lan_width 36 "
    " :targetlist ("
    " {TARGETENTRY "
    " :expr "
    " {VAR "
    " :varno 1 "
    " :varattno 1 "
    " :vartype 23 "
    " :vartypmod -1 "
    " :varlevelsup 0 "
    " :varnoold 1 "
    " :varoattno 1"
    " }"
    " :resno 1 "
    " :resname Spalte1 "
    " :ressortgroupref 0 "
    " :resorigtbl 25444 "
    " :resorigcol 1 "
    " :resjunk false"
    " }"
    " {TARGETENTRY "
    " :expr "
    " {VAR "
    " :varno 1 "
    " :varattno 2 "
    " :vartype 701 "
    " :vartypmod -1 "
    " :varlevelsup 0 "
    " :varnoold 1 "
    " :varoattno 2"
    " }"
    " :resno 2 "
    " :resname Spalte2 "
    " :ressortgroupref 0 "
    " :resorigtbl 25444 "
    " :resorigcol 2 "
    " :resjunk false"
    " }"
    " {TARGETENTRY "
    " :expr "
    " {VAR "
    " :varno 1 "
    " :varattno 3 "
    " :vartype 1114 "
    " :vartypmod -1 "
    " :varlevelsup 0 "
    " :varnoold 1 "
    " :varoattno 3"
    " }"
    " :resno 3 "
    " :resname Spalte3 "
    " :ressortgroupref 0 "
    " :resorigtbl 25444 "
    " :resorigcol 3 "
    " :resjunk false"
    " }"
    " {TARGETENTRY "
    " :expr "
    " {VAR "
    " :varno 1 "
    " :varattno 4 "
    " :vartype 23 "
    " :vartypmod -1 "
    " :varlevelsup 0 "
    " :varnoold 1 "
    " :varoattno 4"
    " }"
    " :resno 4 "
    " :resname Spalte4 "
    " :ressortgroupref 0 "
    " :resorigtbl 25444 "
    " :resorigcol 4 "
    " :resjunk false"
    " }"
    " {TARGETENTRY "
    " :expr "
    " {VAR "
    " :varno 1 "
    " :varattno 5 "
    " :vartype 23 "
    " :vartypmod -1 "
    " :varlevelsup 0 "
    " :varnoold 1 "
    " :varoattno 5"
    " }"
    " :resno 5 "
    " :resname Spalte5 "
    " :ressortgroupref 0 "
    " :resorigtbl 25444 "
    " :resorigcol 5 "
    " :resjunk false"
    " }"
    " {TARGETENTRY "
    " :expr "
    " {VAR "
    " :varno 1 "
    " :varattno 6 "
    " :vartype 701 "
    " :vartypmod -1 "
    " :varlevelsup 0 "
    " :varnoold 1 "
    " :varoattno 6"
    " }"
    " :resno 6 "
    " :resname Spalte6 "
    " :ressortgroupref 0 "
    " :resorigtbl 25444 "
    " :resorigcol 6 "
    " :resjunk false"
    " }"
    " )"
    " :qual <> "
    " :lefttree <> "
    " :righttree <> "
    " :initPlan <> "
    " :extParam (b)"
    " :allParam (b)"
    " :nParamExec 0 "
    " :scanrelid 1"
    " }"
    ""
    "Seq Scan on Tabelle (cost=0.00..29018.23 rows=1499923 width=36) (actual time=0.025..199.157 rows=1500000 loops=1)"
    "Total runtime: 249.040 ms"
    Rechner2 startet PGAdminIII, verbindet sich auf den 'localhost:5432' und setzt 'EXPLAIN ANALYZE VERBOSE SELECT * FROM Tabelle;' ab.
    "Seq Scan on Tabelle (cost=0.00..27500.00 rows=1500000 width=36) (actual time=0.057..2098.330 rows=1500000 loops=1)"
    " Output: Spalte1, Spalte2, Spalte3, Spalte4, Spalte5, Spalte6"
    "Total runtime: 3973.961 ms"
    Also die Zeiten der Abfrage sind schon deutlich unterschiedlich.
    Man kann den Faktor 10 erkennen, wenn man sich die beiden 'actual time=' - Werte rechts von '..' ansieht.
    Hauptfrage nach wie vor: Warum holt PGAdminIII die Daten schneller übers Netzwerk, als von sich selbst lokal auf dem PC.
    Warum bekomme ich bei der gleichen EXPLAIN-Abfrage lokal 3 Zeilen und remote 127 ?

    MfG
    Geändert von treFFnix (21.05.2010 um 11:41 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum