Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Firebird Performance bricht zusammen

Frage Entwicklung Datenbanken

Mitglied: frindly

frindly (Level 1) - Jetzt verbinden

03.01.2011 um 23:11 Uhr, 8834 Aufrufe, 6 Kommentare

Dringendes Problem mit Firebird Datenbank

Hallo
ich musste die Datenbank meines Warenwirtschaftssystems von Windows (Firebird 2.0) auf Linux (Firebird 2.13) umstellen
und habe nun ein massives Performance Problem.
Dir bisher verwendete Hardware:
Athlon64X2 4GB RAM

Jetzt
2x Xeon Dualcore , 4GB RAM

Als System habe ich Debian 5.0.7 intalliert ohne weitere Programme ausser die Datenbank und
eine Samba Freigabe.

Unter Windows lief die Datenbank performant und viel auf dem Server nicht auf.
Unter Linux ist die Performance extrem schlecht, einfache Abragen dauern bis zu einer Minute.
Die Datenbankdatei (.fdb) ist ca. 520MB gross,
und es greifen um die 20-25 Nutzer darauf zu.

Ich habe sowohl Firebird 2.0 sowie 2.1 (jeweils Classic und Superserver) probiert.
(2.5 ist vom Programmhersteller noch nicht freigegeben)
Mit wenigen Nutzern ist das Arbeiten erträglich, sobald sich mehrere anmelden
wird es unterträglich.
Vor allem im (gut gefüllten) Bereich der Lieferscheine/Angebote geht dann nichts mehr.

Bei der Datenbank habe ich auch mit verschiedenen Pagegrössen (4KB, 8KB) sowie verschiedenen
Buffer grössen experimentiert.
Im Moment steht sie sogar im (riskanteren aber hoffentlich schnelleren) Forcewrite=off Modus.

Aufgrund eines defektes am "alten" Datenbankserver muss sie nun unter Linux laufen.

Ich beobachte den Rechner mit htop, und sehe, das die 4 CPU Kerne ca. 50-70% Auslastung haben. Der Arbeitsspeicher ist mit moderaten 300MB belegt. (Swap wurde bisher nicht genutzt).
Die Netzwerkauslastung mit iftop brachte auch nichts auffälliges.
Die Datenbank habe ich mit Sinatica beobachtet und bekam eine Reihe von langsamen Abragen angezeigt.
Das Ergebnis habe ich zum Programmentwickler geschickt, aber bisher ohne das ich ein Patch bekommen habe.
Da ich selbst kein Datenbankenwickler bin, und meine Möglichkeiten beschränkt sind, da es ein Produktivsystem ist
bin ich hier für jeden Tipp dankbar!
Mitglied: dog
03.01.2011 um 23:48 Uhr
Das spricht dafür, dass deiner Datenbank die Indizes fehlen.
Manche DBMS haben die lästige Eigenschaft automatisch Indizes zu bauen, wenn sie es für notwendig halten, und wenn man die dann nicht überträgt wird plötzlich alles langsam.
Ab besten du setzt vor die langsamen Abfragen mal ein EXPLAIN und dann siehst du ob die Abfrage einen Index benutzt hat und definierte Indizes kann man normalerweise auch neu aufbauen lassen.
Bitte warten ..
Mitglied: frindly
03.01.2011 um 23:59 Uhr
Hallo dog,
ich muss mich mal als Nichtdatenbankadmin outen, auch wenn ich die Aufgabe jetzt habe.

Ich verstehe denn Sinn der Indizes. Aber ... auf dem Windows Server wurd die Datenbank auch öfters mit gbak gesichert und wieder hergestellt. Und sie lief immer hoch performant.
Wenn ich die unter Linux wiederherstelle, mit dem gleichen Befehl, müsste sie doch auch genauso laufen.

Da das Programm welches die Datenbank nutzt nicht von mir stammt, kann ich auch kein Explain davor setzten.
Meine Kenntnisse vom Internen Aufbau reichen auch nicht, um sie mit Flamerobin zu bearbeiten.
Da das System Produktiv läuft, kann ich immer nur mit einer Testdatenbank arbeiten.
Aber die läuft, auch mit 2 Benutzern immer performant.

Wie kann ich Indizies neu aufbauen lassen bei Firebird???
Bitte warten ..
Mitglied: dog
04.01.2011 um 10:38 Uhr
Wie kann ich Indizies neu aufbauen lassen bei Firebird???

kA. Ich habe noch nicht mit Firebird gearbeitet.
Bitte warten ..
Mitglied: frindly
06.01.2011 um 16:15 Uhr
Hallo
ich habe beim alten SErver gesehen,
das die Datenbank auf einem Laufwerk lag,
das als RAID 0 von zwei Platten zusammengefasst war.

Die Verbauten Platten sind dazu auch noch schneller,
als in dem aktuellen Rechner.

KAnn dieser Trick einen derartigen Performancegewinn bedeuten?

Ist der Unterschied durch Raid 0 so gross???
Bitte warten ..
Mitglied: dog
06.01.2011 um 17:11 Uhr
Eine Datenbank hat NIEMALS etwas auf einem RAID0 zu suchen!
Zudem laden aktuelle DBMS die Datenbank in den RAM, soweit möglich um Festplatten I/O zu minimieren.
Eine 520MB Datenbank könnte es natürlich in 4GB schon eng haben...

Allerdings glaube ich immer noch das Problem liegt bei den Indizes...
Bitte warten ..
Mitglied: frindly
06.01.2011 um 22:44 Uhr
hallo dog,

prinzipiell gebe ich dir recht. ich habe den rechner ja auch nicht eingerichtet. währe mir auch nicht eingefallen das auf nen raid 0 zu legen.
aber ich gehe alle möglichkeiten durch. auf dem windows server liegt sie auf einem raid0 was mir den anschein macht, als wollte da jemand ganz agressiv ein performanceproblem lösen.

wie gesagt, ich kenn mich mit den interna nicht aus, was datenbanken angeht.
aber wenn sowohl bei windows wie auch linux firebird 2.1.3 installiert ist,
sollte es ähnlich schnell sein.

der datenbank kann es doch egal sein, ob sie auf linux oder windows läuft,
und der linux rechner ist ja schlanker installiert, ohne grafik und schnickschnack.

der belegte arbeitsspeicher liegt übrigends bei ca. 1 gb, es ist also noch reichlich platz im ram vorhanden.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...