Autor Thema: Script ausführen bevor und nachdem Datenbank geöffnet wurde  (Gelesen 2998 mal)

Offline Fabi94

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Moin Leute.

Wir haben eine Datenbank die bei den meisten Benutzern ewigkeiten braucht um geöffnet zu werden.
Ich würde gerne ein Script oder ähnliches bauen, welches loggt wann die Datenbank geöffnet wird und was das öffnen zuende ist.
(Ähnlich wie bei Winforms die events .OnOpening() und .OnOpend())

Ich habe probiert hierfür die "Database Script"e zu verwenden, da ich hier sowohl ein "Inizilize" als auch ein "PostOpen" finde.
Mein Problem ist aber, dass das "Initilize" erst aufgerufen wird, nachdem anderer Code ausgeführt wurde.
Dieser andere Code ist u.a. der Initilize Block einer Form, diese wird im Startframeset der Anwendung benutzt.

Um noch mal meine Frage zu konkretisieren:
Wie und wo schreibe ich Code der quasi auf Database.PreOpen und Database.PostOpen reagiert?

TLDNR:
Ich möchte Daten sammeln wie Lange es dauert eine gewisse Datenbank zu öffnen für verschiedene User im Unternehmen.
Einen schönnen Tag euch allen!

MfG, Fabi94

Happy Coding

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Fabi94

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Danke für die schnelle Antwort.

Ich werde das mal bei einem Kollegen hier in der IT ausprobieren, welcher diese Preformance Probleme auch hat.

Nichts desto trotz würde ich gerne Daten sammeln wer, wie oft die Datenbank aufruft und wie lange es dauert bis diese im client geladen ist.
Einen schönnen Tag euch allen!

MfG, Fabi94

Happy Coding

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Zitat
Nichts desto trotz würde ich gerne Daten sammeln wer, wie oft die Datenbank aufruft und wie lange es dauert bis diese im client geladen ist.

genau dafür ist das doch da
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Fabi94

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Ich hab das so verstanden, dass dies nur für den (einzelnen) client ist.
Ich möchte aber quasi einen Datenbankeintrag machen, dass sich der User XYZ zum Zeitpunkt 123 die Datenbank angefordert hat und dass um 456 die Datenbank vollständig geöffnet hat.
Hier geht es mir erstmal nur um den User und nicht um was genau so lange dauert. Dieses log scheint mir da etwas overkill zu sein und nicht so leicht auf 500+ user anzuwenden.

Zitat
Übrigens es gibt für den Server auch ein Server_Clock. Dies ist allerdings bei Produktivsystemen mit Vorsicht zu verwenden, da die Logs innerhalb von einigen wenigen Minuten etliche GB groß werden können.
Dieser Satz hält mich auch davon ab das Log auf dem Server selbst zu aktivieren.
Einen schönnen Tag euch allen!

MfG, Fabi94

Happy Coding

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Du sagst, Du hast einen Benutzer, bei dem das Problem auftritt. Setz bei DEM Client-Clock und analysiere das Ergebnis, dann weisst Du GANZ GENAU was den Delay verursacht und musst nicht eine Zeile Code schreiben. Genau DAFÜR ist Client Clock da. Leider komme ich von hier aus grade nicht auf den netzgoetter- Link oben (Proxy Policy), deshalb weiss ich nicht, ob da die Datenbank NRPC Parser erwähnt ist. Die würde ich auf jeden Fall verwenden, die macht Dir sogar eine Zusammenfassung / Analyse des Logs, dass Du nichtmal selbst reinschauen muss.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Fabi94

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Du sagst, Du hast einen Benutzer, bei dem das Problem auftritt. Setz bei DEM Client-Clock und analysiere das Ergebnis, dann weisst Du GANZ GENAU was den Delay verursacht und musst nicht eine Zeile Code schreiben. Genau DAFÜR ist Client Clock da. Leider komme ich von hier aus grade nicht auf den netzgoetter- Link oben (Proxy Policy), deshalb weiss ich nicht, ob da die Datenbank NRPC Parser erwähnt ist. Die würde ich auf jeden Fall verwenden, die macht Dir sogar eine Zusammenfassung / Analyse des Logs, dass Du nichtmal selbst reinschauen muss.

Ich hab mich eventuell vorher falsch ausgedrückt, die Mehrzahl der Benutzer haben dieses Problem.

Client-Clock ist echt super! Nur leider hat es nicht so funtkioniert wie erhofft. Nachdem die Notes.ini angepasst wurde und wir die Datenbank geöffnet hat, hat sich diese schnell geöffnet   :-:
Also es ist super dass sich jetzt die Datenbank bei den betroffenen 2 Kollegen schnell öffnet, leider konnte ich dadurch nicht analysieren woran das Problem liegt ^^

Ich werde mir mal bei Zeit den NRPC Parser anschauen, danke für den Link (er war nicht bei netzgoetter angegeben)!


Kleine andere Frage:
Kann mir jemand erklären warum der Initilizeblock der Form aufgerufen wird bevor der Initilize Block der Datenbank durchläuft? Hat da jemand eine Ahnung?
Einen schönnen Tag euch allen!

MfG, Fabi94

Happy Coding

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz