Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Performanceproblem

  1. #11
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.468

    Standard

    Zitat Zitat von gregorich Beitrag anzeigen
    Ich hab jetzt mal die Statements beisammen mit der Analyse.
    Das waren nur EXPLAIN, nicht EXPLAIN ANALYSE. Davon abgesehen sah es aber ned schlecht aus, keine Seq-Scans.

    So wie es aussieht muß es wohl am ODBC Treiber liegen. Meiner hat die Version 8.2.4 vom 27.04.2007

    Liege ich mit meiner Vermutung richtig?

    Gruß
    Hans
    Kann ich nicht sagen, weil ich noch immer nicht sehe, wo die Zeit sein soll. Das erste EXPLAIN ANALYSE im ursprünglichen Beitrag lief ja nur 0,4ms. Bis zu der vor Dir dort genannten Zeit von 2 Minuten fehlen noch 119.9996 Sekunden.


    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

  2. #12
    dasblauehandtuch ist offline Benutzer
    Registriert seit
    04.12.2007
    Beiträge
    86

    Standard

    Zitat Zitat von gregorich Beitrag anzeigen
    So wie es aussieht muß es wohl am ODBC Treiber liegen. Meiner hat die Version 8.2.4 vom 27.04.2007
    Hielte ich für nen recht voreiligen Schluss. Deine version ist zwar nicht die aktuellste, ist aber ja auch nicht sooo weit aus der Welt ...


    Ehrlich gesagt .... nicht böse sein ... ich tippe a bisserl auf die Applikation ... fühlt sich wie irgend ein timout an, wenns immer 120 sekunden sein sollten

    Aber vorgehen wiefolgt:
    1.) Datenbankproblem ausschließen -> explain analyses pasten
    2.) ODBC-Settings checken
    3.) App durchleuchten
    4.) Erst dann Schuld auf ODBC-Treiber schieben



    Grüße

    jochen
    explain analyze is your friend

  3. #13
    fristo ist offline Super-Moderator
    Registriert seit
    08.12.2005
    Ort
    Raum Frankfurt/Main
    Beiträge
    668

    Standard

    Hallo Hans,

    ändere mal in der postgresql.conf folgende Einstellungen

    Code:
    client_min_messages = debug5
    log_min_messages = debug5
    log_error_verbosity = verbose
    log_min_error_statement = debug5
    Nach den Senden des SELECT-Befehl vom Client kannst Du in der LOG-Datei analysieren, wie der SELECT-Befehl vom Server ausgeführt wurde. Ein Beispiel hierzu findest Du unter diesem Link: PG-Forum.de - Einzelnen Beitrag anzeigen - Wunderliche Queries aus psql-odbc treiber & M$Access. Jochen "dasblauehandtuch" musste mit ODBC auch so einige Erfahrungen machen.

    Um eine Referenzzeit zu erhalten, solltest Du auf dem Datenbank-Server pgAdmin installieren und den SELECT-Befehl im Query-Dialog ausführen. In der Statuszeile, unten rechts, wird auch eine Zeit für die Ausführung des Befehls angegeben. Diese ist bei der ersten Ausführung des Befehls in der Regel länger. Also den Befehl mehrmals ausführen und den Mittelwert bilden. Da pgAdmin über den LOCALHOST zugreift sind Zeiten, die durch die Applikation und das Netz entstehen, weitgehendst eleminiert.




    mfg

    fristo
    Geändert von fristo (19.12.2007 um 23:26 Uhr)

  4. #14
    ads
    ads ist gerade online Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    a) es gibt über dem Eingabefeld einen Knopf für CODE, wenn man den benutzt und die Ausgaben dort hineinpackt, werden die auch schön formatiert dargestellt

    b) wenn du eine andere Anfrage an die Datenbank stellst als die, welche das eigentliche Problem ist, wirst du nicht weiterkommen. Wenn deine Ausgabe nur auf 2 statt 20 IDs eingeschränkt ist, erstellt PostgreSQL einen anderen Anfrageplan, der gut auf deine neue, kleine Anfrage passt. Du wirst also die eigentliche, problematische Anfrage stellen müssen und dir dafür den Queryplan zeigen lassen müssen. Alles andere hat keinen Sinn.
    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

  5. #15
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.468

    Standard

    Zitat Zitat von gregorich Beitrag anzeigen
    Danke für die Hilfe,

    Womit ich noch nicht klarkomme sind die vielen Parameter im ODBC-Treiber. Gibt es dazu eine Beschreibung? Ich habe diesbezüglich nix gefunden außer Mutmaßungen anderer User.
    Vielleicht auf der Homepage zum ODBC-Treiber.

    Ein Frage noch zum Autovacuum:
    In den Logfiles wurde auch immer der Start von Autovacuum protokolliert. Der kommt ziemlich häufig, kann man den reduzieren? Oder stört er die Datenbank nicht?
    Ich würde es lassen, der Daemon stört nicht. Ansonsten schau mal hier rein:
    PostgreSQL: Documentation: Manuals: PostgreSQL 8.2: Routine Vacuuming

    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

  6. #16
    dasblauehandtuch ist offline Benutzer
    Registriert seit
    04.12.2007
    Beiträge
    86

    Standard

    Zitat Zitat von gregorich Beitrag anzeigen
    Womit ich noch nicht klarkomme sind die vielen Parameter im ODBC-Treiber.
    Hier sind die Dokus zur aktuellen Version
    http://cvs.pgfoundry.org/cgi-bin/cvs...onfig-opt.html
    http://cvs.pgfoundry.org/cgi-bin/cvs...psqlodbc/docs/
    http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/~checkout~/psqlodbc/psqlodbc/docs/config.html?rev=1.8&content-type=text/html

    Grüße

    Jochen
    explain analyze is your friend

  7. #17
    gregorich ist offline Neuer Benutzer
    Registriert seit
    21.11.2007
    Beiträge
    23

    Standard

    Danke für die Hilfe,

    habe mittlerweile folgendes rausgefunden: Die Datenbank ist sehr schnell, der Transport des Resultsets dauert sehr lange. Das liegt aber nicht an einem überlasteten Netzwerk, sondern an der Größe des Empfanspuffers der Applikation. Gottseidank kann ich diesen verändern und habe jetzt eine Einstellung die mir Clientseitig einen Puffer von 32KB bereitstellt. Damit haben sich die zwei Minuten auf 5 sec. reduziert.

    Womit ich noch nicht klarkomme sind die vielen Parameter im ODBC-Treiber. Gibt es dazu eine Beschreibung? Ich habe diesbezüglich nix gefunden außer Mutmaßungen anderer User.

    Ein Frage noch zum Autovacuum:
    In den Logfiles wurde auch immer der Start von Autovacuum protokolliert. Der kommt ziemlich häufig, kann man den reduzieren? Oder stört er die Datenbank nicht?

    Habe folgende Einstellungen:
    autovacuum = on # enable autovacuum subprocess?
    # 'on' requires stats_start_collector
    # and stats_row_level to also be on
    #autovacuum_naptime = 1min # time between autovacuum runs
    #autovacuum_vacuum_threshold = 500 # min # of tuple updates before
    # vacuum
    #autovacuum_analyze_threshold = 250 # min # of tuple updates before
    # analyze
    #autovacuum_vacuum_scale_factor = 0.2 # fraction of rel size before
    # vacuum
    #autovacuum_analyze_scale_factor = 0.1 # fraction of rel size before
    # analyze
    #autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum
    # (change requires restart)
    #autovacuum_vacuum_cost_delay = 200 # default vacuum cost delay for
    # autovacuum, -1 means use
    # vacuum_cost_delay
    #autovacuum_vacuum_cost_limit = 100 # default vacuum cost limit for
    # autovacuum, -1 means use
    # vacuum_cost_limit


    Herzliche Grüße
    Hans

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Performanceproblem einer Query
    Von stargaizer im Forum SQL
    Antworten: 5
    Letzter Beitrag: 09.03.2009, 17:52
  2. Performanceproblem bei Joins mit Views
    Von JSpatz im Forum SQL
    Antworten: 5
    Letzter Beitrag: 27.04.2007, 17:31

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