Wie kann ich die "Top-Relations" und "Top-Clients" finden?

Fragen und Probleme rund um die Abfragespache SQL.

Wie kann ich die "Top-Relations" und "Top-Clients" finden?

Beitragvon murphy » Fr 3. Feb 2012, 09:58

Hallo zusammen,

ich würde gerne herausfinden, welche Clients in der letzten Stunde den meisten Traffic verursacht haben. Ebenso würde mich interessieren, auf welchen Tabellen diese Anfragen gelaufen sind.

Ich kann z. B.

Code: Alles auswählen
select sum(seq_scan) as seq_scan, sum(seq_tup_read) as seq_tup_read, sum(idx_scan) as idx_scan, sum(idx_tup_fetch) as idx_tup_fetch from pg_stat_all_tables;


die Summe der Abfragen selektieren, jedoch nur über den gesamten Statistikzeitraum hinweg - nicht wie gewünscht in einem bestimmten Zeitraum.

Wie kann ich nun aber den Zeitraum einschränken?

Vielen Dank!!!
murphy
Erfahrener Benutzer
 
Beiträge: 190
Registriert: Mi 19. Aug 2009, 16:40

Beitragvon ads » Fr 3. Feb 2012, 10:07

Uhm, schon mal etwas von WHERE gehört?
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 murphy » Fr 3. Feb 2012, 10:09

Danke für deine schnelle Antwort. Es gibt aber m. E. in der Sicht keinen verwertbaren Timestamp. Insofern kann ich nichts eingrenzen. Liege ich falsch?
murphy
Erfahrener Benutzer
 
Beiträge: 190
Registriert: Mi 19. Aug 2009, 16:40

Beitragvon murphy » Fr 3. Feb 2012, 10:16

Am Rande: Ich bin natürlich nicht auf diese Tabelle/Sicht festgelegt. Wenn jemand eine andere Datenbasis zur Auswertung kennt, nehme ich die genauso gerne :-)
murphy
Erfahrener Benutzer
 
Beiträge: 190
Registriert: Mi 19. Aug 2009, 16:40

Beitragvon akretschmer » Fr 3. Feb 2012, 10:35

murphy hat geschrieben:Hallo zusammen,

ich würde gerne herausfinden, welche Clients in der letzten Stunde den meisten Traffic verursacht haben. Ebenso würde mich interessieren, auf welchen Tabellen diese Anfragen gelaufen sind.

Ich kann z. B.

Code: Alles auswählen
select sum(seq_scan) as seq_scan, sum(seq_tup_read) as seq_tup_read, sum(idx_scan) as idx_scan, sum(idx_tup_fetch) as idx_tup_fetch from pg_stat_all_tables;


die Summe der Abfragen selektieren, jedoch nur über den gesamten Statistikzeitraum hinweg - nicht wie gewünscht in einem bestimmten Zeitraum.

Wie kann ich nun aber den Zeitraum einschränken?

Vielen Dank!!!


Schaue Dir PostgreSQL: Documentation: Manuals: The Statistics Collector an, da gibt es auch Funktionen zum Rücksetzen der Statistiken. Also, rücksetzen, eine Stunde warten, guggen.

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 murphy » Fr 3. Feb 2012, 10:43

Ist es denn aber sinnvoll, zum Monitoring der Datenbabk periodisch die Statistiken zurückzusetzen? Doch eher nicht, oder?
Mein Ansatz war bisher der, dass die Optimierung der Anfragen besser wird, wenn ich genauere Statistiken habe.

Soll heißen: Kann ich die Statistiken bedenkenlos zurücksetzen, ohne das Anfrageverhalten der DB negativ zu beinflussen?

Danke...!
murphy
Erfahrener Benutzer
 
Beiträge: 190
Registriert: Mi 19. Aug 2009, 16:40

Beitragvon akretschmer » Fr 3. Feb 2012, 10:53

murphy hat geschrieben:Ist es denn aber sinnvoll, zum Monitoring der Datenbabk periodisch die Statistiken zurückzusetzen? Doch eher nicht, oder?
Mein Ansatz war bisher der, dass die Optimierung der Anfragen besser wird, wenn ich genauere Statistiken habe.

Soll heißen: Kann ich die Statistiken bedenkenlos zurücksetzen, ohne das Anfrageverhalten der DB negativ zu beinflussen?

Danke...!


Das sind Zugriffsstatistiken, keine Planner-Statistiken. Den Planner ist es völlig wurscht, ob es N SeqScans gab oder M IndexScans, er nutzt andere (pg_class, pg_stats).


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 murphy » Fr 3. Feb 2012, 10:58

Okay, das ist cool!
Dann ist der Punkt aber mal sowas von erledigt :-)

Herzlichen Dank - und schneit nicht komplett ein :-)

VG Andreas
murphy
Erfahrener Benutzer
 
Beiträge: 190
Registriert: Mi 19. Aug 2009, 16:40


Zurück zu SQL

Wer ist online?

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

cron