Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Firebird und Geschwindigkeit mit SSD

  Alt 23. Feb 2011, 12:23
forced writes deaktivieren lass mal lieber, ist zwar bei Firebird nicht ganz so kritisch wie bei Interbase, aber sollte man trotzdem nie machen, sonst landet nachher wieder so eine DB bei mir zur Reparatur, und die Forced writes inactive Fehler sind selten unkritisch, oft eher irreparabel.

SSDs bringen schon einiges an Speed, insbesondere wegen der Zugriffszeit. Wenn du dir mal mit sysinternals processmonitor anschaust, wo Firebird bei ganz normalen Operationen schreibt, dann siehst du, das das immer von vorne nach hinten im Dateioffset hin und her geht. Daher hilft da der Festplatten interne Cache nur wenig weiter.

wenn du das selber testen willst, dann nimm dir zum Beispiel einfach die db1 demodb aus ibexpert (findest du nach der installation unter C:\Program Files (x86)\HK-Software\IBExpertDemoDB) und mach aus dem Script einfach eine DB. Dann einfach mal die Prozedur initall mit parameter 10000 starten, das macht genau auf deiner Hardware mit deinen Einstellungen dann ca. 800000 Operationen, sprich individuelle insert/update/delete/select statements.

Das ist kein künstlicher Benchmark nur auf einer Tabelle, sondern nutzt eine simples Shop Datenmodell, die Prozedur ist ziemlich selbsterklärend.

Wenn du bei dem Script die DB auf unterschiedliche Datenträger legst, dann wirst du die Unterschiede sehen. Gewinner bei mir war eine RAM Disk, danach kam dann die SSD, danach dann eine normale Festplatte. Wenn du aber ausreichend Speicher hast und die cache buffers groß genug sind und du am besten auch noch die 64 Bit Firebird Version nimmst, dann kann auch eine 10GB DB komplett im RAM betrieben werden (http://www.firebirdsql.org/rlsnotesh...gine-cachesize). Das ist aber kein Limit, wenn du 100GB physikalisch hast dann kannst du auch das komplett mit FB25x64 für Firebird benutzen.

Wenn FB dann also im Cache arbeiten kann ist es relativ egal, wie schnell der Datenträger ist, es sei denn, du schreibst extrem oft Transaktionen von unterschiedlichen Clients. Für die von dir angesprochene Auswertung würde ich möglichst nur die Daten von Excel in einem Abwasch in die FB DB pumpen, um dann von dort aus den Vergleich per SP zu machen. SPs können durchaus 1000-5000% schneller sein, als Zugriffe von externen Clients. Wenn deine Exceldaten dann ggf noch in das Firebird external file format übertragen wird (einfaches Textformat mit fester Satzbreite), dann sind auch schnell mal bis zu 100000 Datensätze pro Sekunde in die Datenbank übertragen.

Je nach Anwendung solltest du auf fb25x64 auch noch andere FB Params aus der conf datei anpassen, aber nicht alle bringen Vorteile. Firebird selbst muß nicht auf den schnellen Datenträger, aber FIREBIRD_LCK sollte auch angepasst werden, weil gerade da sehr viel geschrieben wird.

Zusammenfassung: SSD bringt schon vorteile, aber auch nachteile, ich hatte schon 2 Totalausfälle auf SSDs, seit dem empfehl ich die nicht mehr. Firebird schreibt sehr viel und sehr oft, das macht manhce ssd langsamer bis hin zum Stillstand. eine Festplatte WD Raptor o.ä. ist so weit nicht entfernt im Speed und mit ausreichend RAM udn 64 Bit dauerhaft die bessere Lösung, das ist jedenfalls meine Meinung
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat