Firebird Server mit katastrophaler Performance
Firebird Server mit katastrophaler Performance
Hallo
ich habe hier einen alten Windows 2003 Server (2CPU) auf dem eine Firebird Datenbank läuft.
Diese hab ich nun ordnungsgemäss Exportiert und dann auf einen Debian Server (Debian 5.0, 4 CPU's) aufgespielt.
Nun läuft alles und die Benutzer können sich wieder anmelden.
Ich muss anmerken, das der "neue" Server gleichzeitig noch AMP (Apache, Mysql und PHP) laufen hat und diese Dienste anbietet. Eine begutachtung mit htop zeigte ,das keine CPU mehr als 5% ausgelastet ist.
Nun läuft auch die Firebird Datenbank darauf, hat aber eine katastrophale Performance.
Die CPU auslastung dreht sich so um die 40%, schwankend. Laut Systemmonitor hat die Festplatte und das Netzwerk nicht viel zu tun.
Beim ersten Benutzer lief die Datenbank schnell wie die Hölle. Jetzt wo aber alle damit arbeiten (ca. 15-20 Verbindungen) bricht die Geschwindigkeit massiv ein. Und 20 Verbindungen sollte ne Datenbank ja locker wegstecken.
Mit gfix habe ich die Anzahl der Buffer in der Datenbank schrittweite bis an das Maximum von 130000 erhöht, ohne nennenswerten Erfolg.
http://www.firebirdsql.org/manual/gfix-buffers.html
Ich bin für jede Idee und Tipp dankbar!
ich habe hier einen alten Windows 2003 Server (2CPU) auf dem eine Firebird Datenbank läuft.
Diese hab ich nun ordnungsgemäss Exportiert und dann auf einen Debian Server (Debian 5.0, 4 CPU's) aufgespielt.
Nun läuft alles und die Benutzer können sich wieder anmelden.
Ich muss anmerken, das der "neue" Server gleichzeitig noch AMP (Apache, Mysql und PHP) laufen hat und diese Dienste anbietet. Eine begutachtung mit htop zeigte ,das keine CPU mehr als 5% ausgelastet ist.
Nun läuft auch die Firebird Datenbank darauf, hat aber eine katastrophale Performance.
Die CPU auslastung dreht sich so um die 40%, schwankend. Laut Systemmonitor hat die Festplatte und das Netzwerk nicht viel zu tun.
Beim ersten Benutzer lief die Datenbank schnell wie die Hölle. Jetzt wo aber alle damit arbeiten (ca. 15-20 Verbindungen) bricht die Geschwindigkeit massiv ein. Und 20 Verbindungen sollte ne Datenbank ja locker wegstecken.
Mit gfix habe ich die Anzahl der Buffer in der Datenbank schrittweite bis an das Maximum von 130000 erhöht, ohne nennenswerten Erfolg.
http://www.firebirdsql.org/manual/gfix-buffers.html
Ich bin für jede Idee und Tipp dankbar!
Re: Firebird Server mit katastrophaler Performance
poste mal bitte noch die conf datei
btw: guck ma hier:
http://www.firebirdfaq.org/faq52/
http://www.firebirdfaq.org/faq333/
klick
btw: guck ma hier:
http://www.firebirdfaq.org/faq52/
http://www.firebirdfaq.org/faq333/
klick
Zuletzt geändert von Colttt am 07.09.2010 20:02:59, insgesamt 1-mal geändert.
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Re: Firebird Server mit katastrophaler Performance
geht grad schlecht
habe gelesen, das die firebird superserver probleme mit multicore cpus hat und es besser währe,
die datenbank an nur einem core zu hängen.
diese idee hier auch mal zur diskussion...
habe gelesen, das die firebird superserver probleme mit multicore cpus hat und es besser währe,
die datenbank an nur einem core zu hängen.
diese idee hier auch mal zur diskussion...
Re: Firebird Server mit katastrophaler Performance
ha jetzt..
ich hatte das auch mal mit mysql.. dort hat er immer wieder die DNS namen versucht zu resolven, da du aber kein DNS-server hast musst du das abstellen, siehst du bestimmt auch in den logs..
[urlhttp://www.janus-software.com/fbmanual/manual. ... in&topic=8]siehe punkt1[/url]
oder mal es nur mit einer CPU versuchen..
http://www.janus-software.com/fbmanual/ ... ook=admin&topic=8
ich hatte das auch mal mit mysql.. dort hat er immer wieder die DNS namen versucht zu resolven, da du aber kein DNS-server hast musst du das abstellen, siehst du bestimmt auch in den logs..
[urlhttp://www.janus-software.com/fbmanual/manual. ... in&topic=8]siehe punkt1[/url]
oder mal es nur mit einer CPU versuchen..
http://www.janus-software.com/fbmanual/ ... ook=admin&topic=8
Debian-Nutzer
ZABBIX Certified Specialist
ZABBIX Certified Specialist
Re: Firebird Server mit katastrophaler Performance
In der Art, packages.debian.org:gnude hat geschrieben: habe gelesen, das die firebird superserver probleme mit multicore cpus hat
<-> firebird2.0-classicPaket: firebird2.0-super (2.0.4.13130-1.ds1-4+lenny1)
...
Die "super"-Architektur nutzt separate Threads für jede Verbindung.
Das hat seine Vorteile, das heißt, es ist im allgemeinen schneller und effizienter für viele Clients.
Aber es kann nur eine CPU auf einem SMP-System nutzen ...
<->
testing, Paket: firebird2.5-superclassic (2.5.0.26054~ReleaseCandidate3.ds2-1)
Aber doch noch nicht mit 20 Verbindungen?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: Firebird Server mit katastrophaler Performance
Hallo!
Die oben erwähnte "CPU AFFINITY MASK" gibt es nur bei Windowsinstallationen, wie es auch dem Link zu entnehmen ist. Um mit SMP auf Performance zu kommen hilft nur die von @rendegast schon erwähnte "superclassic" (firebird2.5-superclassic):
Die oben erwähnte "CPU AFFINITY MASK" gibt es nur bei Windowsinstallationen, wie es auch dem Link zu entnehmen ist. Um mit SMP auf Performance zu kommen hilft nur die von @rendegast schon erwähnte "superclassic" (firebird2.5-superclassic):
Gruß, habakugThe "superclassic" architecture uses a new thread to handle each connection. This allows for good scaling on multi-processor machines without consuming too much operating system resources.
Re: Firebird Server mit katastrophaler Performance
hier mal die firebird.conf datei...
34942
34942
Zuletzt geändert von Saxman am 08.09.2010 10:59:12, insgesamt 1-mal geändert.
Grund: Nach nopaste verschoben
Grund: Nach nopaste verschoben
- habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Re: Firebird Server mit katastrophaler Performance
Hallo!
Ich weiß nicht auf welchem Level du dich bewegst, du ignorierst allerdings gekonnt meine Hinweise, das Teile der Konfigurationsdatei nur für Windowsinstallationen relevant sind. Du könntest flamerobin installieren und das Logging/Monitoring aktivieren. Vielleicht kannst du sehen was deiner DB zu schaffen macht. Vor allem Netzwerkprobleme sollten ausgeschlossen werden.
Für die mutigen gibt es schon die Version 3.0. als Beta.
Gruß, habakug
Ich weiß nicht auf welchem Level du dich bewegst, du ignorierst allerdings gekonnt meine Hinweise, das Teile der Konfigurationsdatei nur für Windowsinstallationen relevant sind. Du könntest flamerobin installieren und das Logging/Monitoring aktivieren. Vielleicht kannst du sehen was deiner DB zu schaffen macht. Vor allem Netzwerkprobleme sollten ausgeschlossen werden.
Für die mutigen gibt es schon die Version 3.0. als Beta.
Gruß, habakug
Re: Firebird Server mit katastrophaler Performance
@habakug, soviele Optionen sind doch gar nicht gesetzt?
und CpuAffinityMask wird dem Kommentar nach auch nicht ausgewertet.
TempDirectories /tmp als tmpfs im Arbeitsspeicher? Wie groß und wie ausgelastet?
-> iotop, swap-Benutzung?
http://www.firebirdfaq.org/faq13/ Punkt 3.: TempDirectories + Ram-Disk
Code: Alles auswählen
$ egrep -v "^#|^$" /tmp/firebird_34942.txt
DatabaseAccess = Full
DefaultDbCachePages = 6144
TcpRemoteBufferSize = 16384
RemoteBindAddress = 0.0.0.0
CpuAffinityMask = 1
Sind das Erfahrungswerte, oder Lösungsversuche?DefaultDbCachePages = 6144
TcpRemoteBufferSize = 16384
TempDirectories /tmp als tmpfs im Arbeitsspeicher? Wie groß und wie ausgelastet?
-> iotop, swap-Benutzung?
http://www.firebirdfaq.org/faq13/ Punkt 3.: TempDirectories + Ram-Disk
Zuletzt geändert von rendegast am 09.09.2010 14:09:44, insgesamt 2-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Firebird Server mit katastrophaler Performance
Kommerzielle Anbieter:
http://www.ibexpert.net/ibe_de/index.ph ... berprüfung
http://www.ibexpert.net/ibe_de/index.ph ... %C3%BCfung
http://www.ibsurgeon.com/products/fireb ... /FBScanner
http://www.sqlly.de/funktionen/analyse- ... kstatistik
http://www.sinatica.com/index.php/en/monitor
Sowas wie mytop oder ptop habe ich nicht gefunden.
Waren firebird alt / neu dieselbe Version?
Wurden Clients eventuell an die neue Version angepaßt?
http://www.ibexpert.net/ibe_de/index.ph ... berprüfung
http://www.ibexpert.net/ibe_de/index.ph ... %C3%BCfung
http://www.ibsurgeon.com/products/fireb ... /FBScanner
http://www.sqlly.de/funktionen/analyse- ... kstatistik
http://www.sinatica.com/index.php/en/monitor
Sowas wie mytop oder ptop habe ich nicht gefunden.
Waren firebird alt / neu dieselbe Version?
Wurden Clients eventuell an die neue Version angepaßt?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Firebird Server mit katastrophaler Performance
wenn ich das recht sehe steht diese anfrage in diversen Foren und ist daher hier und da schon mal mehr oder weniger beantwortet.
Der Autor schreibt aber leider überall was anderes (oder das waren wirklich unterschiedliche Autoren).
Nun denn, der classic server nutzt den Speicher pro userconnection, wenn der mit einer connection fix läuft und mit mehreren nicht,
dann ist es extrem wahrscheinlich, das die cachebuffers schon zu hoch sind. In einem anderen Forum habe ich schon mal beschrieben,
das bei 130000 cachebuffers und 4k pagesize pro user ca 600MB RAM erforderlich sind. Ich gehe davon aus, das die kiste keine
6GB RAM frei hat für 10 connections, und so manch ein programm nutzt mehr als einen connection. Man sieht das in FB Version 2.1
oder höher aber sehr gut in der Tabelle mon$attachments, wie viele connections aktiv sind.
In so einem Fall sollte man die Cachebuffers verkleinern und nicht vergößern! Oder den Superserver installieren, der nutzt einen
gemeinsamen cache für alle connections.
Gruß
Holger
www.ibexpert.com
Der Autor schreibt aber leider überall was anderes (oder das waren wirklich unterschiedliche Autoren).
Nun denn, der classic server nutzt den Speicher pro userconnection, wenn der mit einer connection fix läuft und mit mehreren nicht,
dann ist es extrem wahrscheinlich, das die cachebuffers schon zu hoch sind. In einem anderen Forum habe ich schon mal beschrieben,
das bei 130000 cachebuffers und 4k pagesize pro user ca 600MB RAM erforderlich sind. Ich gehe davon aus, das die kiste keine
6GB RAM frei hat für 10 connections, und so manch ein programm nutzt mehr als einen connection. Man sieht das in FB Version 2.1
oder höher aber sehr gut in der Tabelle mon$attachments, wie viele connections aktiv sind.
In so einem Fall sollte man die Cachebuffers verkleinern und nicht vergößern! Oder den Superserver installieren, der nutzt einen
gemeinsamen cache für alle connections.
Gruß
Holger
www.ibexpert.com