Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird Server SQL-Log (https://www.delphipraxis.net/77352-firebird-server-sql-log.html)

Gruber_Hans_12345 18. Sep 2006 14:37

Datenbank: Firebird • Version: 1.5 • Zugriff über: IBX

Firebird Server SQL-Log
 
Hi

Da ich im Moment das Problem habe, das irgendeine SQL Abfrage bei einem Kunden den Firebird Server sporadisch (1-2 mal am Tag) für 5-10 Minuten auf 100% bringt (und ich aber eigentlich keien Abfragen habe, die so lange dauern dürften) bin ich schon verzweifelt am suchen, wo das sein kann.

Da hätte ich mir jetzt gedacht, wenn man den firebird server mal mit einer zusätzlichen Debug option oder so starten könnte, wo alle SQL Statements mitgeloggt werden (eventuell IP, dauer und so) wäre das natürlich extrem hilfreich.

Gibt es eventuell sogar so ne option (denke mir war beim testen vom FB Server selbst auch sicher hilfreich)

Habe mit verschiedenen Tools schon probiert (TIBSQLMonitor - nix zusammen gebracht)
FlexTrace - gut aber leider nur für den Client

gibt es noch andere Tools für den Server ?

mkinzler 18. Sep 2006 15:17

Re: Firebird Server SQL-Log
 
Du sagst, daß zu diesem Zeitpunkt keine Abfargen laufen. Dann wird ein Logging auch nicht viel bringen.
Es könnte z.B. die Garbage Collection sein. wenn diease aber so lange dauert, düfte die Tranaktionssteuerung des Programmes fehlerhaft sein.

Gruber_Hans_12345 18. Sep 2006 15:26

Re: Firebird Server SQL-Log
 
ne, es laufen schon Abfragen, eine menge sogar (von bis zu 10 verschiedenden rechnern)

aber eigentlich dürfte keine einzelne Abfrage so lange dauern (und da anscheinend doch, müsste ich wissen, welche das ist, damit ich diese umändern kann Indexe dazu Filtern oder was auch immer)

mkinzler 18. Sep 2006 15:28

Re: Firebird Server SQL-Log
 
Dann könntest du Trigger verwenden, welche dir alle Abfragen loggen.

Gruber_Hans_12345 18. Sep 2006 15:53

Re: Firebird Server SQL-Log
 
hmmm also das ganze mit trigger machen ... kommt mir doch etwas umständlich vor

mir wär eine Debug option vom FB-Server schon recht ;)

Kann ich beim FB 1.5 überhaupt Trigger machen, die auf alle Tabellen triggern ?
(Muß leider gestehen weiss das nicht)

oder ein externes Prrformance Tool, das mir sagt welche SQL-Statemants beim FB Server lange brauchen ... sowas rbauchen doch sicher auch andere leute um DB Anwendungen zu optimieren oder etwa nicht ?

mkinzler 18. Sep 2006 16:04

Re: Firebird Server SQL-Log
 
Meines Wissens hat FB aber keine Debugoption.

IBHeartBeat Performence Analyzer
IBLogManager

hoika 18. Sep 2006 18:35

Re: Firebird Server SQL-Log
 
Hallo,

IBHeartbeat benutzt afaik die neuen Performance Tabellen von ib6.5,
FB kennt die nicht.

Ich benutze den IBPlanalyzer von Craig Stuntz.

http://cc.borland.com/Item.aspx?id=19030
(Anmeldung bei BDN).

Bei Bedarf kann ich dir den auch zuschicken.


Ich würde auch mal den Speicherbedarf des Servers rpüfen,
wird der immer größer, hast du in der Tat ein Transaktionsprobklem
(die Transaktionsmaske des Servers wird immer größer)

Um di9e Garbage-Collection auszuschliesen,
kannst du das Sweep-Interval ja mal auf 0 setzen
(gfix -housekeeping 0 ....) oder z.B. per ibexpert.

Zu einer "nichtproduktiven Zeit" (22:00) wird dann gfix -sweep ...
aufgerufen.
Das kann z.B. über geplante Vorgänge passieren.



Heiko

Gruber_Hans_12345 19. Sep 2006 08:33

Re: Firebird Server SQL-Log
 
Der IBPlanaylzer ist ein Tool zum analysieren von SQL-Querries oder ? Ich hasbe ja das Problem, das ich die Querry noch nicht identifiziert habe, die das problem verursacht ...

Ich glaube auch nicht, das es der GC oder sonstiges ist.
Transaktionen lasse ich nie lange offen (ausser wenn der server dann für die 5-10 minuten ne große auslastung zeigt)

Ich werde mal den FlexTrace bei nem Client und nem ServerModul ranhängen und gucken, ob mir das was bringt.

Ansonsten spiele ich mit dem Gedanken den FB v1.5.3 als Source runterzuladen und neu zu compilieren und dann mal ne log funktionen einzubauen ... da ich mittlerweile auch hier schon stunden über stunden in das einbauen von log am client gesteckt habe.

mkinzler 19. Sep 2006 08:37

Re: Firebird Server SQL-Log
 
Dann wäre es ja billiger einen fertigen LogManager einzusetzen oder halt die Trigger selber zu implementieren.

Gruber_Hans_12345 19. Sep 2006 09:04

Re: Firebird Server SQL-Log
 
Ja billiger auf jeden Fall, nur habe ich irgendwie das Gefühl, das mir so ein fertiger LogManager nicht das bringt, was ich will.
Ich habe hier 384 Tabellen, die müssen dann ja alle mit mindestens 8 Trigger überwacht werden (AFTER/BEFORE INSERT,DELETE,SELECT,UPDATE) und dann muß man ja die Daten so extrahieren, das man sieht, wie lange die Aktion gedauert hat (also AFTER-BEFORE) ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz