Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
672 Beiträge
 
FreePascal / Lazarus
 
#20

AW: Fragen bezüglich Performance von Firebird in einer Anwendung

  Alt 10. Aug 2019, 00:18
Wenn du Lust hast, dann sende mir doch mal hier oder per email an support@ibexpert.com eine genauere Beschreibung, welche Software das ist.

Wir kennen da einige, bei denen man an einigen Schräubchen drehen kann, aber so manch eine Software ist aufgrund der Architektur nicht wirklich
für größere Benutzerzahlen geeignet. Und das hat meistens als Grund die Unwissenheit der Programmierer, manchmal aber auch nur bescheuert formulierte
SQLs, und gerade diejenigen Firmen, die die Firebird Features wenig nutzen, sind da oft sehr ignorant gegen externes Consulting. Das eine Verabeitung
in einer SP gegenüber der externen Delphi basierende Verwurstung 10-50 mal schneller sein kann, wird mangels Basiswissen oder
aufgrund von sinnlosen Programmierrichtlinien gerne ignoriert, so lange bis dann irgendwann eine Auswertung nicht mehr über Nacht fertig wird.

IBExpert hat ziemlich viele Funktionen für das Monitoring und Tracen von Anwendungen, und extra Tools können dann auch auf tcp/ip ebene
weiterhelfen, um zu verstehen was da los ist.

Wenn deine Server CPU sich aber langweilt, dann liegt das meistens daran, das der auf den Datenträger wartet. Und das kommt bei vielen
nvme ssds aufgrund des gruselig schlechten nvme Treibers von Microsoft, viele SSD Hardwarehersteller bieten aber gar keine treiber für die Windows
Server versionen, warum auch immer (mal abgesehen davon, das man dafür nur die nahezu baugleichen teuren Servervarianten der SSDs
verkaufen will, die aber außer anderer Firmwarenamen und einem anderen Aufkleber meistens nicht besser sind).

Bei größeren Firmen rechnet es sich auch schnell, mal bei uns einen Consulting Tag vor Ort zu buchen, damit alle Mitarbeiter nicht endlos genervt sind
vom teuren neuen lahmen server. Anfrage dazu auch gerne per email.

Wenn der Softwarehersteller da wirklich Interesse dran hat, dann sollte man den gleich mit ins Boot nehmen, wenn man feststellt, das es in der
Software auch viel Optimierung machbar ist. Leider ist die Realität aber so, das Softwarehersteller manchmal ziemlich beratungsresistent
sind und viel zu geizig, um das eigene Personal mal mit den erforderlichen Werkzeugen das erforderliche Know How zu vermitteln, das man braucht,
um keine berechtigterweise meckernde Kunden dauernd am Telefon vertrösten zu müssen und anzulügen, das die Performanceprobleme immer nur bei dem
auftreten, der gerade anruft.

Wie sagt Thorsten Sträter immer noch so schön in seinem Liveprogramm: Wenn man nicht schwimmen kann, liegt es an der Badehose.

Und das ewige "andere Datenbanken können alles viel besser" in einigen Posts bringt auch niemanden weiter. Man kann mit jeder Datenbank und mit jeder
Programmierumgebung komplette Scheisse zusammenbauen oder seine Werkzeuge so beherrschen, das die Software auch größere Datenmengen in sinnvoller
Geschwindigkeit verarbeiten kann.

Wir haben in Projekten mit Firebird mit Datenmengen zu tun, bei denen die meisten Lösungen dicke Backen machen und so wie wir Firebird einsetzen,
machen auch Millionen neuer Datensätzen jeden Tag über mehrere Jahre repliziert auf 180 Server verteilt in ganz Deutschland kein Problem. Wer aber
mit seiner Software vor 20 Jahren als kleine Handwerkerlösung mit 2 Kunden und 3 Arbeitsplätzen angefangen hat und sich heute noch damit rumärgert,
wie er das damals verbockt hat, der muss nicht alles gleich wegschmeissen, wenn auf ein mal hunderte Kunden mit je bis zu 100 Anwendern mit der
gleichen Software arbeiten sollen, sollte aber dringend mal in eine Evolution investieren.

Schaut euch eure Delphi Projekte einfach mal an, dutzende Datasets in jedem der dutzenden Formulare verteilt mit endlos SQLs oder Tables und TFieds
in den dfm dateien war schon vor 20 Jahren ein Scheiss Design, wenn man die Software dynamisch im Team weiterentwickeln möchte.

So ein Design sorgt auch regelmäßig dafür, das Datenbanklimits wie langlaufende Transaktionen nicht mehr so einfach in den Griff zu bekommen sind,
schon gar nicht wenn man gar nicht weiß, warum das bei Firebird ein Problem sein kann und das das Problem dabei nicht Firebird ist, sondern der
Programmierer, der seit Handwerkszeug nicht beherrscht.

So, genug gemeckert, wie schon gesagt, meld dich einfach (oder auch andere, die unsere Hilfe brauchen), den Benchmark machen wir nach Termineabsprache
auch gerne kostenlos per Fernwartung (dauert ca. 10-20 minuten, wenn euer Server nicht kompletter Schrott ist) dann habt ihr einfach mal einen
Vergleichswert, was eure Serverinstallation an Firebird Speed so kann.

Single Threded insert/update/delete scripte bringen da nur sehr wenig Erkenntisse, das was unser Benchmark da macht ist schon aufwändiger
und multithreaded.
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