Zwischendurch Langsame Querys oder Abbruch aller Threads

Fragen und Probleme rund um die Abfragespache SQL.

Zwischendurch Langsame Querys oder Abbruch aller Threads

Beitragvon weber » Fr 12. Mär 2010, 11:02

Moin moin,

ich weiß nicht, ob die Probleme miteinander zusammen hängen oder ob es überhaubt nur ein Problem ist. Darum habe ich die mal beide in ein Thema zusammengefasst:
1. Bei hunderten Abfragen pro Minute gibt es immer mal wieder welche, die extrem lange brauchen. Teilweise über 250 Sekunden. (Aus dem serverlog: duration: 251.757 ms) Es spielt hierbei keine Rolle, ob Insert oder Selcet. Es passiert bei unterschiedlich großen Tabellen und Datenbänke.
2. Zwischendurch, in sehr unregelmäßigen Abständen werden alle Threads / Connections von Postgres beenden und in /var/log/meassages taucht folgender Eintrage auf:
Mar 3 14:59:04 servbasesql kernel: [591342.406790] postmaster[24330]: segfault at 30 ip 690658 sp 7fff754e9690 error 4 in postgres[400000+446000]

Wir haben die Probleme seit gut einem Monat.

Die Eckdaten:
Postgres 8.4.1
Debian Lenny
Intel Core2 Quad Q9550
3GB Ram
Software Raid 1 mit zwei 280 GB WD VelociRaptor
shared_buffers = 1024MB
work_mem = 8MB
temp_buffers = 8MB
Anzahl der DBs: 106
Wir arbeiten mit Java-Anwendungen auf den DBs und verwenden für die Connections den jeweiligen Java-Pool.
Es gibt drei Tomcat-Server die mit Ihren Java-Anwendungen auf den DB-Server zugreifen.
Der Server ist recht neu (November 2009).

Was wir bisher versucht haben:
RAM getauscht.
shared_buffers und work_mem verdoppelt. (Waren vorher nur 512 und 4MB)
Vacuum --all --full -analyze
Reindexing
RAID ist in Ordnung.

Die Festplatten, CPU und Netzwerk zeigen keine besondere Auslastung an.

Ich bin für jeden Lösungansatz dankbar...

Gruß
Björn
weber
Neuer Benutzer
 
Beiträge: 7
Registriert: Fr 12. Mär 2010, 09:49

Beitragvon akretschmer » Fr 12. Mär 2010, 11:32

weber hat geschrieben:Moin moin,

ich weiß nicht, ob die Probleme miteinander zusammen hängen oder ob es überhaubt nur ein Problem ist. Darum habe ich die mal beide in ein Thema zusammengefasst:
1. Bei hunderten Abfragen pro Minute gibt es immer mal wieder welche, die extrem lange brauchen. Teilweise über 250 Sekunden. (Aus dem serverlog: duration: 251.757 ms) Es spielt hierbei keine Rolle, ob Insert oder Selcet. Es passiert bei unterschiedlich großen Tabellen und Datenbänke.

Klingt so, als würde dann das xlog weggeschrieben werden. Da gibt es einige Parameter zum darn rumdrehen, ads kennst sich da gut aus, warten wir, bis er wach ist.
Stichwort: Background-Writer. Dieser kann schon mal für 'merkwürdige' Lastspitzen sorgen...

2. Zwischendurch, in sehr unregelmäßigen Abständen werden alle Threads / Connections von Postgres beenden und in /var/log/meassages taucht folgender Eintrage auf:
Mar 3 14:59:04 servbasesql kernel: [591342.406790] postmaster[24330]: segfault at 30 ip 690658 sp 7fff754e9690 error 4 in postgres[400000+446000]

Das schaut ned schön aus, hier würde ich fast auf ein Hardwareproblem tippen. Oder aber ihr habt da vielleicht zusätzliche Libs im PG eingebunden, die buggy sind.

Wir haben die Probleme seit gut einem Monat.


Seit November 2009 läuft er, sagtes Du. Also lief er im Nov, Dez und Januar ohne diese Probleme?


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
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5954
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon weber » Fr 12. Mär 2010, 11:46

akretschmer hat geschrieben:Das schaut ned schön aus, hier würde ich fast auf ein Hardwareproblem tippen. Oder aber ihr habt da vielleicht zusätzliche Libs im PG eingebunden, die buggy sind.

Wir haben keine zusätzlichen Libs eingebunden.
Hardware-Problem ist auch unser Geheim-Tip, darum auch "eben schnell" den Ram getauscht. Und auch schon das Ersatzt-Mainboard ausgepackt. Aber man hofft ja immer, das es mit der Software geht. ;-)

Jup, er lief bis Mitte Februar ohne Probleme.
Wir haben auch kein Update gemacht...

Björn
weber
Neuer Benutzer
 
Beiträge: 7
Registriert: Fr 12. Mär 2010, 09:49

Beitragvon ads » Fr 12. Mär 2010, 13:11

Einfach mal "log_checkpoints" in der Konfiguration aktivieren und schauen, wie schnell oder langsam die Checkpoints abgearbeitet werden.
Morgen werde ich zu dem Thema in Chemnitz auf den dortigen Linuxtagen einen Workshop geben.

Der Fehler sieht für mich aber auch wie kaputte Hardware aus - der sollte normal nicht auftreten.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

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

PostgreSQL Service & Support
ads
Erfahrener Benutzer
 
Beiträge: 4147
Registriert: Mi 8. Feb 2006, 11:58
Wohnort: MD

Beitragvon weber » Fr 12. Mär 2010, 13:43

"log_checkpoint" werde ich dann heute Abend aktivieren. Wenn ich jetzt den Postgres Neustarte komme ich nicht lebend hier raus...
Mh, das ist sicher interessant, aber leider schaffe ich es morgen nicht nach Chemnitz. Gibt es zu deinem Workshop Dokus?

Das Mainboard werde ich dann wohl am WE tauschen. Oder könnte es eher an der CPU liegen?

Ich werde dann in den nächsten Tagen berichten, wie schnell die Checkpoints abgearbeitet werden.

Björn
weber
Neuer Benutzer
 
Beiträge: 7
Registriert: Fr 12. Mär 2010, 09:49

Beitragvon ads » Fr 12. Mär 2010, 13:48

Hallo,

es gibt vielleicht die Folien online, mal sehen. Das hilft aber nicht wirklich viel, dazu fehlt die Teilname an dem Workshop.

Ansonsten kann ich so etwas hier bieten:
Schulung in München: PostgreSQL 05/2010

Es sieht nach einem Hardware Problem aus. Was genau nun das Problem ist, kann man leider nicht sagen.
Du könntest das allgemeine Systemlog mal zu rate ziehen, vielleicht steht dort mehr drin.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

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

PostgreSQL Service & Support
ads
Erfahrener Benutzer
 
Beiträge: 4147
Registriert: Mi 8. Feb 2006, 11:58
Wohnort: MD

Beitragvon castorp » Fr 12. Mär 2010, 14:04

weber hat geschrieben:(Aus dem serverlog: duration: 251.757 ms)
Hmm, das sind doch nur 250 Millisekunden (also nichtmal eine Sekunde)
Der Punkt ist doch ein Dezimaltrenner?
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'
castorp
Erfahrener Benutzer
 
Beiträge: 676
Registriert: Sa 27. Jun 2009, 22:24

Beitragvon weber » Fr 12. Mär 2010, 14:24

Also das Systemlog zeigt auf den ersten Blick nicht viel auffälliges.
Aber ich habe ehrlichgesagt nicht alles im Detail verstanden und werde da noch ein wenig einschlägige Suchmaschinen zu rate ziehen. ;-)

Schulung, in München. *grübel* könnte man mit einem Urlaub verbinden. Ich werde es mal meinem Vorgesetzten andeuten...
weber
Neuer Benutzer
 
Beiträge: 7
Registriert: Fr 12. Mär 2010, 09:49

Beitragvon weber » Fr 12. Mär 2010, 14:31

Mh, interessante Frage: 251,755 ms oder 251755 ms?
Habe ich mich da von der unterschiedlichen Darstellung zwischen deutscher (. als Tausendertrennung) und amerikanischer ( ein . wo wir , nehmen) Zahlenschreibweise irreführen lassen?
weber
Neuer Benutzer
 
Beiträge: 7
Registriert: Fr 12. Mär 2010, 09:49

Beitragvon ads » Fr 12. Mär 2010, 20:01

Einfach mit den Sekundenzeiten der vorherigen und nächsten Anfrage vergleichen. Wenn es 3 Minuten Unterschied sind, dann waren es Sekunden. Andernfalls Millisekunden.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

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

PostgreSQL Service & Support
ads
Erfahrener Benutzer
 
Beiträge: 4147
Registriert: Mi 8. Feb 2006, 11:58
Wohnort: MD

Nächste

Zurück zu SQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron