Firebird Server mit katastrophaler Performance

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
gnude
Beiträge: 1569
Registriert: 14.09.2009 22:05:28
Kontaktdaten:

Firebird Server mit katastrophaler Performance

Beitrag von gnude » 07.09.2010 19:43:25

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!

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Firebird Server mit katastrophaler Performance

Beitrag von Colttt » 07.09.2010 19:56:42

poste mal bitte noch die conf datei

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 :D

ZABBIX Certified Specialist

Benutzeravatar
gnude
Beiträge: 1569
Registriert: 14.09.2009 22:05:28
Kontaktdaten:

Re: Firebird Server mit katastrophaler Performance

Beitrag von gnude » 07.09.2010 19:58:49

geht grad schlecht :wink:

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...

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Firebird Server mit katastrophaler Performance

Beitrag von Colttt » 07.09.2010 20:08:41

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
Debian-Nutzer :D

ZABBIX Certified Specialist

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Firebird Server mit katastrophaler Performance

Beitrag von rendegast » 07.09.2010 21:10:48

gnude hat geschrieben: habe gelesen, das die firebird superserver probleme mit multicore cpus hat
In der Art, packages.debian.org:
Paket: 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 ...
<-> firebird2.0-classic
<->
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")

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Firebird Server mit katastrophaler Performance

Beitrag von habakug » 07.09.2010 21:56:45

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" (Debianfirebird2.5-superclassic):
The "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.
Gruß, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

Benutzeravatar
gnude
Beiträge: 1569
Registriert: 14.09.2009 22:05:28
Kontaktdaten:

Re: Firebird Server mit katastrophaler Performance

Beitrag von gnude » 08.09.2010 09:20:44

hier mal die firebird.conf datei...
NoPaste-Eintrag34942
Zuletzt geändert von Saxman am 08.09.2010 10:59:12, insgesamt 1-mal geändert.
Grund: Nach nopaste verschoben

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Firebird Server mit katastrophaler Performance

Beitrag von habakug » 08.09.2010 20:17:15

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 Debianflamerobin 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
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Firebird Server mit katastrophaler Performance

Beitrag von rendegast » 09.09.2010 08:36:07

@habakug, soviele Optionen sind doch gar nicht gesetzt?

Code: Alles auswählen

$ egrep -v "^#|^$" /tmp/firebird_34942.txt
DatabaseAccess = Full
DefaultDbCachePages = 6144
TcpRemoteBufferSize = 16384
RemoteBindAddress = 0.0.0.0
CpuAffinityMask = 1
und CpuAffinityMask wird dem Kommentar nach auch nicht ausgewertet.

DefaultDbCachePages = 6144
TcpRemoteBufferSize = 16384
Sind das Erfahrungswerte, oder Lösungsversuche?


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")


rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Firebird Server mit katastrophaler Performance

Beitrag von rendegast » 09.09.2010 13:16:36

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?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

ibexpert
Beiträge: 1
Registriert: 13.09.2010 11:09:02

Re: Firebird Server mit katastrophaler Performance

Beitrag von ibexpert » 13.09.2010 11:17:33

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

Antworten