AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Geschwindigkeit
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Geschwindigkeit

Ein Thema von Delix · begonnen am 29. Sep 2009 · letzter Beitrag vom 31. Mär 2010
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#21

Re: Firebird Geschwindigkeit

  Alt 2. Okt 2009, 11:45
Moin, moin,

Wenn NetBios da nichts bringt ist das Gateway-Problem ausgeschlossen. Am besten wieder Deinstallieten.

Habe mehrere kleine Netzwerke mit Firebird als Datenbank am laufen und hier hat sich gezeigt, das 1-GBit-Karten bei kleinen Paketen deutlich flotter waren. Bei großen Datenmengen brach das seltsamerweise dann öfters ein. Richtig spannend wird es wenn man Karten verschiedener Hersteller mischt. So ganz genormt ist das dann doch nicht. Am besten einen Satz eines Herstellers. Und alle 10MBit-Karten aus dem Netz verschwinden lassen, die bremsen auch wenn Sie nur im Netz mithören.

Am Kartentreiber kann man kontrollieren ob die im -Duplexmode- alle auf "Full autonegotation" stehen. Manchmal haben die Treiber auch eine Einstellung -Optimze for- sollte auf "Througput" stehen. Ist nur eine anders konfiguriert, dann wird es prinzipbedingt langsamer.

Aber Deine Zeiten sind so unterschiedlich, dass hier auch noch was anderes mit im Busch liegen kann.
Es gibt für Firebird den FBConfigManager. Mit dem kann man die TCPRemoteBuffBufferSize am Firebird-Server einstellen.

Es bleibt jedenfalls spannend. Grüße // Martin
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: In der Lüneburger Heide
165 Beiträge
 
Delphi 10.4 Sydney
 
#22

Re: Firebird Geschwindigkeit

  Alt 9. Mär 2010, 14:10
Wir haben im Prinzip das gleiche Problem, wie es hier bisher beschrieben wurde. Deshalb habe ich den Thread mal wieder nach oben geholt, in der Hoffnung es hat hierzu jemand vielleicht neue Erkenntnisse gewonnen.

Wir haben zwei fast baugleiche Maschinen, E8400 Core2Duo. DB ist Firebird SuperServer 1.56, eine mit XP, die andere mit Server 2008R2 x64. Die Datenbank ist ca. 500 MByte gross, gecached werden 10000 Pages a 8192 Byte, also fast 1/5 der gesamten DB.

Alle Queries sind prepared und werden innerhalb der Schleifen-Abfragen mit Parametern versorgt. DB-Zugriff über IBObjects.

Lassen wir den einen Programmpunkt zum Zusammensuchen von Daten lokal, egal auf welcher Maschine laufen dauert das ca. 1 Sekunde. Geht der Zugriff über Netzwerk, dann dauert es ca. 17 Sekunden (100 MBit, 2% Netzwerklast). Umstellung auf GBit ca. 9 Sekunden bei 0,58% Netzwerklast. Grosse Dateien zwischen den Rechnern hin- und herkopieren - ca. 40 MByte / Sekunde bei 80% Netzlast

Was ich bisher schon alles probiert habe:
- Diverse Parameter in der firebird.conf (Cache / PageSize / Affinity etc.)
- Datenbank auf dem Server auf eine RAM-Disk packen, kein Unterschied!
- Umstellung der gesamten DB mit Backup/Restore auf Firebird 2.5 RC2 SuperClassic x64, genauso langsam
- Switch rausnehmen und beide Rechner per Crosslink direkt verbunden
- Langsameren Server (Notebook mit Pentium M760), dauert es ca. 20 Sekunden
- Beide Karten hart auf 1GB Fullduplex umgestellt
- google bis zum Abwinken befragt, aber nichts Stichhaltiges dazu gefunden

Was mich daran erschreckt ist das dümpelnde Netzwerk, warum kann der FBServer-Prozess die Daten nicht schneller an den Client schicken? Lokal schnellt die CPU-Last auf dem einen Kern auf fast 100% hoch und die Antwort der Daten erfolgt fast verzugslos.

Ich habe so den Eindruck als kann/will/darf der DB-Prozess die Daten nicht schneller bei der Netzwerkkarte abliefern? Der FBServer-Prozess dümpelt übrigens genauso vor sich hin und kommt nicht über 5% CPU-Last hinaus.

Hat jemand von Euch dazu etwas herausgefunden oder ggf. noch einen Tipp was ich übersehen haben könnte?
Carsten
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird Geschwindigkeit

  Alt 9. Mär 2010, 14:20
Tunnele mal den Zugriff mit Zebedee oder stunnel
Markus Kinzler
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#24

Re: Firebird Geschwindigkeit

  Alt 9. Mär 2010, 15:29
Netzwerklast hat nicht unbedingt etwas mit der Latenzzeit zu tun, die zwischen Absenden eines Datenblocks und dem Empfang dieser Daten auf der Gegenseite vergehen.

Bei einer reinen Dateiübertragung werden die Datenblöcke hintereinander abgesendet, ohne auf eine Bestätigung zu warten.
Erfolgt nach einiger Zeit keine Empfangsbestätigung für einen Block, wird dieser noch einmal gesendet.
Code:
Zeitlinie ----------------------------->

Sender   -1-2-3-4-5-6-7-8-9-----------

Empfänger ------1-2-3-4-5-6-7-8-9------

Antwort  -----------1-2-3-4-5-6-7-8-9-
beim Sender
Bei einer Datenbankabfrage wird die Anfrage abgesendet und auf die Antwort des Servers gewartet, erst danach erfolgt die nächste Abfrage. Entsprechend gering ist die Netzauslastung.
Code:
Zeitlinie ----------------------------->

Sender   -1-----------2---------------

Empfänger ------1-----------2----------

Antwort  -----------1-----------2-----
beim Sender
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: In der Lüneburger Heide
165 Beiträge
 
Delphi 10.4 Sydney
 
#25

Re: Firebird Geschwindigkeit

  Alt 9. Mär 2010, 15:55
Hab ich gerade mal ausprobiert. Bis ich dann mal drauf kam, dass ich am Client für den Connect localhost/PortFürZeBeDee eingeben muß - hat einen Moment gedauert

Genauso langsam - über GBit ca. 10 Sekunden für das Zusammensuchen. zebedee hat ca. 4-5% CPU Last. Der FBServer als Spitzenwert 7%. Das Netzwerk dann jetzt noch weniger - so ca. 0,36% - welch wahnsinnige Belastung!

OK, Blup - das leuchtet mir ein. Zum Teil. Weil eigentlich könnten sie sich das bestimmt viel schneller bestätigen. So haben sowohl das Netzwerk, als auch der FBServer, als auch die Anwendung die ganze Zeit nichts zu tun - alle deutlich im einstelligen CPU-Bereich. Während er lokal abgeht wie eine Rakete. Irgend woran muß es da doch haken?
Carsten
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
273 Beiträge
 
Delphi 12 Athens
 
#26

Re: Firebird Geschwindigkeit

  Alt 9. Mär 2010, 17:47
Also Wireshark ist in solchen Fällen immer eine gute Hilfe.

Onboard-Netzwerkkarten bestimmter Hersteller sind auch eine bliebte
Fehlerquelle.

Die Festplatten des Servers können ebenfalls ein Flaschenhals sein.

100 Mbit und Geschwindigkeitstest bei den heutigen Hardwarepreisen?
Die zentralen Switche sollten zumindest 1000 Mbit sein.

Ich lese gerade SuperServer.
Man sollte klären ob nicht der CS sinnvoller wäre.

Upgrade auf 2.xx schon in Erwägung gezogen?

Gruß
Alfred
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#27

Re: Firebird Geschwindigkeit

  Alt 9. Mär 2010, 18:56
Hallo zusammen,

bei unseren Kunden haben wir auch oft Probleme bezüglich Geschwindigkeit (allerdings bei einem anderen DBMS).
Hauptproblem waren bis jetzt fast immer die Virenscanner.
Leider reicht ein "abschalten" der Virescanner i.d.R. oft nicht aus, da irgendwelche Dienste weiterlaufen.
Wir weisen unsere Kunden meistens nach, dass es am Virenscanner liegt.
Der Kunde entscheidet dann selbst über Ausnahmen beim Scannprozess...
(Ich hatte in diesem Thread noch nichts über Virenscanner gelesen, daher mein Post. Wenn ich etwas überlesen habe... )

Weiterhin hatten wir bei einer bestimmten Benutzergruppe ("authentifizierte Benutzer" o.ä.) in den NTFS-Freigaben Zeitprobleme., wenn bei der Freigabe unter dem Reiter "Sicherheit" diese Benutzergruppe hinterlegt war.
Hat man dann direkt den Benutzer mit hinterlegt, waren bestimmte Zugriffe wesentlich schneller. Das war allerdings ein Einzelfall...
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Firebird Geschwindigkeit

  Alt 9. Mär 2010, 19:54
Hast du be Zebedee Kompression aktiviert?
Wie ist die Endung der Datenbankdatei?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: In der Lüneburger Heide
165 Beiträge
 
Delphi 10.4 Sydney
 
#29

Re: Firebird Geschwindigkeit

  Alt 10. Mär 2010, 08:06
@Alfredo

Leider haben unsere Kunden aber teilweise nicht die Netzwerk-Infrastruktur für GBit-LAN, weil uralte Verkabelung in den Wänden Somit gehe ich bei meinen Tests hier vom "Worst-Case" aus. Wie mein Test zeigt wird es zwar mit GBit auch schneller, aber die Netzwerklast geht von 2% auf ~0.58% zurück. Rechnerisch dann aber immer noch schneller.

Firebird 2 habe ich ebenfalls getestet (s.o. 2.5 RC2) als SuperClassic. Kein Geschwindigkeitzuwachs, keine schnelleren Antworten. Bei meiner Single-Client Testreihe hier sollte der SuperServer wegen der grösseren CacheSize deutlich die Nase vorne haben.

Netzwerkkarten sind in beiden Rechnern Intel 82567 GBit Onboard in Fujitsu-Rechnern.

@juergen

Guter Tipp: Habe den Virenscanner-Dienst zu Testzwecken mal abgeschaltet. Win-Firewalls sind aus, Desktop-Fw ist nicht installiert.
Die Abarbeitung der gesamten Abfrage beschleunigt sich von vorher 9 Sekunden auf jetzt 5 Sekunden. Ich will aber mal schauen, wie sich das im Laufe des Tages entwickelt, da im Moment es hier im Hausnetzwerk noch relativ ruhig ist. Kann allerdings der einen Sekunde lokal noch nicht das Wasser reichen.

@mkinzler
Ja, Komprimierung war mit -z bzip2:9 volle Pulle eingeschaltet. Die Rechner sollten hoffentlich genug Power haben die kleinen Pakete in Echtzeit zu packen. Dauert annähernd genauso lange ~9 Sekunden.

Und Endung ist .gdb - historisch gewachsen, da vorher mal Interbase-DB. Allerdings ist es nicht das *.GDB Restore-Problem. Die filelist.xml ist von <GDB> befreit und auch die Systemwiederherstellung ist auf beiden Maschinen ausgeschaltet.
Carsten
  Mit Zitat antworten Zitat
Alfredo

Registriert seit: 4. Mär 2008
Ort: München
273 Beiträge
 
Delphi 12 Athens
 
#30

Re: Firebird Geschwindigkeit

  Alt 10. Mär 2010, 10:39
Wenn zumindest Cat5e installiert ist, kann man mit Spezialswitche(Kupfer) die 1000 MBit
fahren.

Ich würde mal einen anderen Servertyp ausprobieren(Linux_32 mit Samba).
Der 2008 scheint so einige Macken zu haben.

Der Firebird 2.5 hat eine neuere Technik die angeblich schneller sein soll.
Er hat wohl aber auch so seine Probleme.
Bin mit meinem 2.03CS mehr als zufrieden.

Schon mal mit Wireshark den gesamten Netzverkehr angeschaut und alle Quatscher
eliminiert? Du wirst staunen was da alles rumsaust.

Ich würde dein Problem mal in der Firebird Mailingliste absetzen.
Dort sind die absoluten Firebird-Gurus(Helen Borrie oder Dimitry Sibiryakov) unterwegs.

Gruß
Alfred
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 15:43 Uhr.
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