AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Fragen bezüglich Performance von Firebird in einer Anwendung
Thema durchsuchen
Ansicht
Themen-Optionen

Fragen bezüglich Performance von Firebird in einer Anwendung

Ein Thema von TK8782 · begonnen am 8. Aug 2019 · letzter Beitrag vom 15. Aug 2019
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#1

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 08:31
Datenbank Tuning durch einen Fachmann kann in der Situation schon hilfreich sein. Es kommt halt drauf an.
Richtig. Da muss man sich immer den Einzelfall anschauen. Ich wäre jedenfalls sehr daran interessiert, sollte durch Einstellungen am DB-Server das beschriebene Problembild sich wesentlich verbessern. Denn die Problemlage ist mir bei unserer DB sehr vertraut.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
TK8782

Registriert seit: 14. Jun 2019
9 Beiträge
 
#2

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 08:47
Hallo zusammen,

ich danke euch zunächst mal für Eure Einschätzung, die in gewisser Weise das bestätigt was ich unseren Entwicklern bzw. GL bereits mitgeteilt habe und was auch mein Verdacht ist.
Man muss sich die Anwendung und die Art und Weise wie diese programmiert ist anschauen. Es handelt sich um eine Anwendung, die noch vor Kurzem via BDE angesteuert wurde und die Client-Server basiert ist, d.h. die EXE liegt zwar auf einem Fileshare im Netzwerk, wird aber lokal auf den Rechnern über eine Verknüpfung aufgerufen. Danach stellt die Anwendung eine Verbindung zur Firebird-Datenbank her.

Ich persönlich bin mit meinem Latein was Optimierung betrifft mittlerweile am Ende angelangt, da ich auch bereits die verschiedensten firebird.conf Konfigurationen gefahren bin mit unterschiedlichsten Einstellungen hinsichtlich Cache usw. Hier gibt es ja verschiedenste Hinweise im Internet bzw. vorgefertigte Konfigurationsdateien, die man ausprobieren kann. Wirklich schneller wird es dadurch aber nicht!

Da am Server selbst auch die gesamten Ressourcen wie CPU, RAM, Netzwerk, Festplatte mit einer minimalen Auslastung laufen, auch wenn größere Abfragen abgesetzt werden vermute ich das Bottleneck eher in der Netzwerkanbindung von Client zu Server, wobei wir hier auch durchgängig Gigabit-Anbindung mit HP-Switchen haben (Cisco wäre zwar besser, aber für die Geschwindigkeit der Anwendung sollte das nicht den wesentlichen Unterschied machen) bzw. das Bottleneck ist doch in der Anwendung zu suchen.

Für weitere Diskussionen bin ich jederzeit offen!

Grüße

T
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 09:03
Also wenn der Server überhaupt keine Last zeigt, dann ist da doch irgendwas anderes im Busch.
Sind das echte Clients? Citrix?..
Funktioniert die Namensauflösung bzw. das Routing vom Client sauber zum DB Server? Wenn z.B. jedes Paket erst mal beim lieben Gott fragen muss, wo es hin soll und wie es wieder zurück kommt, dauert das in Summe auch.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 09:08
In deiner Situation können diese Bereiche das Problem darstellen:
- der Server
- das Netzwerk
- der Client
- die Software selbst

Server und Netzwerk hast du schon ausgeschlossen. Dann schau dir den Client an. Ist der manchmal sehr unter Last? Wenn ja, was ist die Ursache? CPU? Platte? Wann ist das + was wird in der Software dann gemacht? Versuche, die Stellen in der SW zu identifizieren, an denen es hängt.

Wie andere auch schon gesagt haben: Binde den Hersteller der Software ein.

Ich hatte mal eine SW, die hat in regelmäßigen Abständen (1s) nachgesehen, ob es ein Update im Server gibt. War bei 2/3 Clients kein Problem. Bei 200 war das dann nicht mehr lustig.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#5

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 09:11
Es handelt sich um eine Anwendung, die noch vor Kurzem via BDE angesteuert wurde und die Client-Server basiert ist
Da wäre doch mal interessant, welche Konnektoren verwendet wurden. Ich habe mal eine Testanwendung erstellt und mit verschiedenen Konnektoren (FIBplus, FireDAC, ZEOS und UniDAC) darauf zugegriffen. Bei identischen Queries war FIBplus am schnellsten, FireDAC dicht dahinter, dann lange nichts und dann ZEOS gefolgt von UniDAC. Wobei UniDAC bei Random-Select-Update-Pingpong mehr als doppelt so lang brauchte wie FIBplus.

die EXE liegt zwar auf einem Fileshare im Netzwerk, wird aber lokal auf den Rechnern über eine Verknüpfung aufgerufen.
Wird die Anwendung tatsächlich lokal aufgerufen oder ist das ein Terminalserver oder Citrix oder sowas?

Da am Server selbst auch die gesamten Ressourcen wie CPU, RAM, Netzwerk, Festplatte mit einer minimalen Auslastung laufen, auch wenn größere Abfragen abgesetzt werden
Wurde denn so ein Benchmark auch am alten Server gemacht bevor der neue in Betrieb ging?

durchgängig Gigabit-Anbindung mit HP-Switchen haben (Cisco wäre zwar besser, aber für die Geschwindigkeit der Anwendung sollte das nicht den wesentlichen Unterschied machen)
Das ist nur wieder Ferrari vs. Mercedes SLK. Mehr Geschmackssache als technisch relevant. Es gibt aber auch 100-Euro-Rackswitches, die tatsächlich nur eine 64 Einträge große MAC-Table haben und mehr mit ARP Discovery als Pakettransport beschäftigt sind. Sowas sollte man meiden.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
223 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 11:30
Hier fehlt eigentlich alles was an Fakten interessant wäre :

Was für ein Fb Server : Classic-, Super- oder Superclassic
auf was für einem Betriebssystem läufts Windows ? Linux ? Windows Server der auch Domaincontroller ist?
Wie gross ist die DB Datei
Pagesize der DB
Cachepage Settings
RAID, wenn ja was für eins

Die IBExpert Professional Version hat einen hübschen Server Benchmark die Zahlen zum Vergleich wären mal nett

mfg Hannes
  Mit Zitat antworten Zitat
TK8782

Registriert seit: 14. Jun 2019
9 Beiträge
 
#7

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 12:49
Hier fehlt eigentlich alles was an Fakten interessant wäre :

Was für ein Fb Server : Classic-, Super- oder Superclassic
auf was für einem Betriebssystem läufts Windows ? Linux ? Windows Server der auch Domaincontroller ist?
Wie gross ist die DB Datei
Pagesize der DB
Cachepage Settings
RAID, wenn ja was für eins

Die IBExpert Professional Version hat einen hübschen Server Benchmark die Zahlen zum Vergleich wären mal nett

mfg Hannes
Die Datenbank ist als Superserver installiert.
Als Betriebssystem läuft Windows Server 2019
PageSize 16384
Datenbankgröße 21 GB

Momentane firebird.conf (wobei hier schon mit verschiedenen Werten getestet wurde, auch z.B. mit TCPRemoteBufferSize mal mit hohem Wert aber auch mit kleinem Wert.

ServerMode = Super
DefaultDbCachePages = 100K
FileSystemCacheThreshold = 2M
TempBlockSize = 2M
TempCacheLimit = 1000M
AuthServer = Legacy_Auth, Srp, Win_Sspi
AuthClient = Legacy_Auth, Srp, Win_Sspi
UserManager = Legacy_UserManager, Srp
TracePlugin = fbtrace
WireCrypt = Enabled
RemoteServicePort = 3050
RemoteBindAddress = 192.168.199.100
LockMemSize = 15M
LockHashSlots = 30011
ExternalFileAccess = Full
TcpRemoteBufferSize = 30000
#TcpNoNagle = 0
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 13:25
Hallo,
wenn der DB-Server sich langweilt, die App aber trotzdem (gefühlt) langsam ist,
liegt es meistens an der App ...

Bsp:
Ein Select * From Table Where XXX
füllt ein Grid und dort wurde BeginUpDate/EndUpdate (bewuss?) vergessen.

Die App ist langsam, aber der DB-Server schnell ...
Heiko
  Mit Zitat antworten Zitat
kretabiker

Registriert seit: 10. Mär 2005
Ort: Bargteheide
183 Beiträge
 
Delphi 12 Athens
 
#9

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 8. Aug 2019, 14:20
Auch ein Prüfung wert: Sind die Tabellen richtig indiziert für die verwendeten Abfragen. Allerdings müssten sich, wenn die Indizierungen nicht stimmen, die Abfragen auch in der Serverbelastung - insbesondere vom Firebird-Dienst - bemerkbar machen
Udo Treichel
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:54 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