AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Firebird optimal einstellen

Firebird optimal einstellen

Ein Thema von csaeum · begonnen am 6. Okt 2014 · letzter Beitrag vom 11. Okt 2014
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Firebird optimal einstellen

  Alt 7. Okt 2014, 08:35
Zitat:
Wie bekomme ich die Pagesize der Datenbank raus?
Code:
gstat <Datenbank> -header
oder

Code:
SHOW Database
in isql
Markus Kinzler
  Mit Zitat antworten Zitat
csaeum

Registriert seit: 6. Okt 2014
6 Beiträge
 
#2

AW: Firebird optimal einstellen

  Alt 7. Okt 2014, 17:04
Anbei die Infos von gstat
Database header page information:
Flags 0
Checksum 12345
Generation 31061
Page size 16384
ODS version 11.2
Oldest transaction 25894
Oldest active 25901
Oldest snapshot 25899
Next transaction 31038
Bumped transaction 1
Sequence number 0
Next attachment ID 17
Implementation ID 26
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 1
Creation date Oct 2, 2014 10:05:37

Variable header data:
Sweep interval: 20000
*END*
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Firebird optimal einstellen

  Alt 7. Okt 2014, 18:07
Es scheinen die Transaktionen nicht richtig abgeschlossen zu werden. Es besteht mindestens eine langlaufenden offene Tranaktion, wahrscheinlich noch viel mehr.

Btw.: Warum Dialect 1? Der besteht nur aus Kompatibilitätsgründen zu alten Interbaseversionen.
Markus Kinzler
  Mit Zitat antworten Zitat
csaeum

Registriert seit: 6. Okt 2014
6 Beiträge
 
#4

AW: Firebird optimal einstellen

  Alt 7. Okt 2014, 21:05
Wieso weshalb warum Dialect1 darfst du mich nicht fragen. Das hat die Firma Vario zu verantworten?

Das langlaufende offene Tranaktion waren kann ich bestätigen.

Nach fast 24h hat er einen Job immernoch nicht fertig gemacht gehabt und ich habe dann abgebrochen.

Darum nun auch der Thread hier. Laut meinen Recherchen denke ich mal das ihr mir helfen könnt. Die Firma Vario meinte ja ich sollte bis November warten erst dann hätte der "Firebird Spezialist" Zeit für uns.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Firebird optimal einstellen

  Alt 7. Okt 2014, 21:20
Zwischen der nächsten gestarteten und der ältesten Transaktion liegen 6000 Transaktionen. Da ist wirklich etwas faul. Bei einem Vorgang sollten keine 6000 Tranaktionen gestartet werden. Zudem sieht es aus, als ob diese nicht abgeschlossen werden. Viele offene Transkationen sind Gift für Firebird. Man solte sich die Abfragen mal ansehen.
Markus Kinzler
  Mit Zitat antworten Zitat
tsteinmaurer

Registriert seit: 8. Sep 2008
Ort: Linz, Österreich
530 Beiträge
 
#6

AW: Firebird optimal einstellen

  Alt 8. Okt 2014, 07:29
Wo soll ich da jetzt am Besten anfangen, was man normal über private Kanäle versucht zu erklären ...

Grundsätzlich bin ich der Meinung, dass man heutzutage viel zu schnell mal in Richtung SSD geht, was in der Regel dann das echte Problem halt verschleiert. Man kann mit rotierenten Platten locker Umgebungen mit > 100 Benutzer bedienen, vorausgesetzt:
  • Grundlegende Firebird-Settings sind berücksichtigt
  • Das (physische) Datenmodell passt
  • Der/die Entwickler haben schon mal was von Transaktionssteuerung in der Client-Anwendung gehört
  • SQLs sind optimiert (SQL Performance)
  • Verarbeitung am Client vs. am Server mit Stored Procedures/Trigger
  • Etwas Server-Hardware

Server-Hardware ist meistens da. Da läßt man sich nicht lumpen, ist ja Ehrensache.

Aus meiner Erfahrung haperts immer, na vielleicht zu 90%, an den anderen Sachen. Ein Steckenpferd ist SQL Performance. Es gibt nicht grundlos Bücher die sich rein mit diesem Thema beschäftigen. Firebird ist hier keine Ausnahme. Warum auch. Ich hab schon Umgebungen gesehen, die mit < 10 Usern eine potente Umgebung in die Knie bekommen haben.

Zurück zum Problem des Thread-Erstellers: Da er 2.5 einsetzt, hat er bzgl. dem Monitoring jegliche Möglichkeiten, ohne dabei den Softwarehersteller zu brauchen, da das schön transparent mit den Monitoring-Tabellen und der Trace API möglich ist. Es gibt auch Tools dafür, die hier einem den Einstieg enorm erleichtern. Ich mach jetzt keine Werbung ...

Mit diesen Mitteln hat man sehr, sehr oft in 15 Minuten die Top-Hitters auf SQL Ebene identifiziert, sofern man in diesem Zeitraum eine repräsentative Last erzeugen kann. Die langlaufende Transaktion (OAT) sollte in MON$TRANSACTIONS auftauchen. Oft ist das "Problem" mit der OAT einfach die Verwendung von AutoCommit in der Client-Anwendung, die in der Regel im Hintergrund mit einem COMMIT RETAINING abgeschlossen wird, was die Transaktion physisch so richtig nicht beendet. Wo wir wieder beim Thema "Transaktionsteuerung" wären.

Auf der Settings-Ebene gibts dann halt noch Themen wie: Erhöhung von PageBuffers, In-Memory Sort Space, HashSlots (vor allem wichtig für Classic/SuperClassic) etc. Bei allen diesen Themen darf man nicht vergessen, dass auch noch der OS Filesystem Cache da ist ...

Ach ja, eine Transaktion-ID Differenz von 6000 ist Kindergarten. Das merkt man an der Performance rein gar nicht. Spannend wirds im 6 oder 7-stelligen Bereich
  Mit Zitat antworten Zitat
csaeum

Registriert seit: 6. Okt 2014
6 Beiträge
 
#7

AW: Firebird optimal einstellen

  Alt 8. Okt 2014, 08:14
Danke tsteinmaurer

du sprichst mir aus der Seele, ich bin ja im IT Bereich nicht unerfahren aber mit Firebird steck ich in den Kinderschuhen.

Das man mit SSD erstmal verschleiert unterschreibe ich dir.

Wie würdet ihr nun vorgehen. Die Tools sagen mir erstmal alle nichts und auch nicht wie man diese handhabt. Wie sollte man die Caches einstellen usw damit man erstmal mit den Teil wirklich weiterarbeien kann. Da es eine ERP ist und wir derzeit 2 Artikel mit jeweils 2078 Kinderartikeln haben sollten die erstmal in den Shop hochgeladen werden. Dazu hat er zuletzt in 24h es nicht geschafft.

Wir sind hier am Anfang und wenn wir es so durchziehen muss er später auch mal 100 Artikel mit jeweils 2078 Kinder hochladen können. Ich denke hier müssen die Caches noch besser werden damit er schneller wird. Beim erstellen dieser konnte ich ja auch schonmal was rausholen wie im 1. Post.

Was sollte man erstmal nehmen Super - Classic oder SuperClassic?

Was empfiehlt ihr? Weil dann kann ich die Caches mal optimieren. Falls ihr hier eine empfehlung habt wäre ich auch dankbar.

Gruß und Danke schonmal an allen hier in der Runde

chris
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz