Wiso Datenbank Geschwindigkeit erhöhen

  • Hallo,


    Frage:

    Gibt es eine Möglichkeit die Wiso Datenbank auf eine performantere Datenbank zu legen ? Mir ist das Buchen der einzelnen Positionen zu langsam. Das würde ich gerne mittelfristig schneller machen.


    Bei SQL gibt es Varianten wie zum Beispiel Community die nur mit 1 Prozessor / Kern arbeiten. Ich weiß nicht wie da die Variante arbeitet die Buhl einsetzt. Vielleicht gibt es hier auch die Möglichkeit eine andere Firebird Version zu kaufen die dann mit mehr Kernen arbeitet - wenn es Firebird sein muss ? Eine MSSQL oder auch eine ADS Lizenz (Advanced Database System von Sybase) wären vorhanden.


    Mein Problem


    Ich bin gerade dabei die Amazon Buchungen vom Februar fertig zu machen, da morgen wieder die Umsatzsteuermeldung fällig ist. Dazu importiere ich den Bericht von Amazon auf ein Konto so dass ich alle Verkäufe und Gebühren auf einem Konto habe. Diese buche ich gegen die Rechnungen die geschrieben (importiert) wurden. Ich habe gerade mal die Stoppuhr auf meinem Handy bemüht. Ich doppelklicke einen Eintrag auf dem Amazon Konto und der dazugehörige Beleg wird gefunden. Jetzt drücke ich F11 damit die Zuordnung vorgenommen wird. Nach dem F11 drücken dauert es 6-7 Sekunden. Ich habe Wiso dann mal neu gestartet und lande dann bei 4-5 Sekunden. Es scheint so um so länger man mit Wiso arbeitet, dass es dann hoch geht. Nach 40-50 Buchungen hängt Wiso sich ja auch gerne mal auf und das graphische GUI ist total hinüber - dann muss man ja auch immer neu starten.


    Rechner details


    Buchen tue ich gerade auf dem Rechner wo die Wiso Datenbank läuft. PC Rahmenparameter : AMD Ryzen 9 3900x mit 32 GB DDR4 RAM (3600 MHZ), Grafikkarte Gigaybte RTX 3070 overclocked. Die Datenbank liegt auf einer 512 GB M2 SSD. Auf dem Rechner läuft sonst beim Buchen nur ein Browser wo ich einen Twitch Stream auf habe. Auslastung liegt um die 10%.


    Ideen ?


    Meiner Meinung nach ist das jetzt kein typischer Bürorechner. Die Performance sollte also reichen um ein 2-3 Inserts in die Datenbank in kürzerer Zeit als 6-7 Sekunden zu schreiben. Ich glaube das Problem wird sich mit weiteren monaten / jahren noch vergrößern. Vielleicht hat auch jemand speziell Tuningtipps für die Firebird Datenbank ? Darf man das von Buhl aus ? Bietet Buhl vielleicht selbst was ?


    Wie ich bei Wikipedia gelesen habe gibt es 3 Modi für die Datenbank : ClassicServer, SuperClassic, SuperServer - jemand Erfahrung damit ?


    Wie ich im Screenshot markiert habe geht beim Buchen nur 1 CPU Kern auf 100% hoch. Die betroffene SSD (Datenträger 1) interessiert das nicht. Es scheint also was CPU lastiges von der Datenbank zu laufen und der Kern ist alleine völlig ausgelastet.


    Gruß

    Charles

  • Ja ... bin gerade am buchen und ärgere mich auch wieder darüber ... 10-15 Sekunden für eine Buchung ... startet man Wiso neu geht es kurze Zeit um die Hälfte schneller aber nach einigen Buchungen wird es wieder spürbar langsamer.


    Ich finde die Software gut - aber mittelfristig gesehen ist das ein KO Kriterium ... die Buchungen werden ja nicht weniger.

  • Wie ich im Screenshot markiert habe geht beim Buchen nur 1 CPU Kern auf 100% hoch. Die betroffene SSD (Datenträger 1) interessiert das nicht. Es scheint also was CPU lastiges von der Datenbank zu laufen und der Kern ist alleine völlig ausgelastet.


    Gruß

    Charles

    Unabhängig von der lahmen Software Mein Büro würde ich anhand der Grafik die übertaktete Grafikkarte und die enorme Haupt-Speicherauslastung von 14 GB als Hauptursache sehen. Oder was halt sonst noch so an Sachen zusätzlich die Abragen lahmlegen (im Hintergrund laufende Software, etc.)


    Was verursacht eine solche Speicherauslastung ? Wozu eine solche Grafikkarte ? Ich würde das ganze erstmal auf eine ordentliche Büro-Rechner-Basis stellen. (8GB Hauptspeicher, interne GPU, alles auf gemeinsamer SSD)


    Wie groß sind Eure Datenbanken ?


    Solche Zeiten schaffe ich bei weitem nicht mit meinen "alten" i5

  • Die GPU der Grafikkarte ist für die Datenbankabfrage die über die CPU läuft erstmal nicht maßgeblich. Danke für den Hinweis, aber hier macht es keinen Sinn downzugraden um dann mehr Geschwindigkeit zu erwarten. Als Programmierer der mit dem Métier Geld verdient brauche ich einen besseren Büro PC als das herkömmliche. Der Speicher ist zwar mit 14,9 GB voll - ist damit aber gerade zu 50% voll. Durch die Stromversorgung geht der Inhalt nicht verloren - verursacht aber erst mal keine zusätliche Last. Es macht mehr Sinn alles in den RAM auszulagern, anstatt den PC eine Auslagerungsdatei schreiben zu lassen. Der Festplattenzugriff ist da wesentlich langsamer - auch in Zeiten von SSD.


    Meine Datenbankgröße bzw das "Wiso Daten Verzeichnis" liegt aktuell bei 10,5 Gigabyte.


    Was halt stark auffällt ist, dass es nach einem Neustart um bis zu 50% schneller ist und dann schnell wieder langsamer wird. Bei 2-3 Buchungen nicht zu merken - aber wenn man mehr bucht wird es schlimm.


    Was mir als Programmierer auch noch auffällt - richtet man ein neues Konto ein und fängt dort an zu buchen dann geht es viel viel schneller als auf einem Konto wo schon viele Bewegungen waren. Vermutlich wird hier nach dem Update / Insert auf der Datenbank der angezeigte Inhalt für das benutzte Konto neu geladen und ins DataGridView geladen oder damit abgeglichen ? Ein direktes Update in der Datenbank ohne neu zu Laden und mit einem direktem Update der Daten im DatagridView wäre wesentlich effektiver / schneller. Daher könnten die langen Buchungszeiten kommen ! Ich kenne aber den Quelltext nicht und kann es daher nur aufgrund meiner Beobachtungen vermuten.


    Ein großer Performanceschub wäre die auch die Nutzung mehrerer Cores. Die aktuelle Datenbank nutzt nur 1 Core von 24. Bei einem "Kunden" habe ich eine MSSQL Datenbank mit entsprechendem Server angeschafft. Aufgrund diverser Probleme mit der ERP Software mussten wir die Cores auch einschränken und man glaubt es nicht wie die Mitarbeiter das Stöhnen angefangen haben obwohl der Server selbst nur bei 5-15% Auslastung liegt. Ich habe gesehen dass es von der Firebird auch eine Multicore Unterstütung gibt. Ich würde dafür auch eine Lizenz kaufen - nur leider habe ich da noch nicht ganz durchgeblickt, ob es nur durch die Config bestimmt wird - und ob das Anpassen der Wiso Config dafür reicht oder ob man die Datenbank dort downloaden, installieren und durch die Wiso Config Dateien neu verknüpfen muss. Damit wäre ja allen geholfen.


    Prinzipiell finde ich Wiso gut - obwohl die mit den Patches immer wieder vorhandene Funktionen entfernen und einem damit das Leben schwer machen - oder neue Fehler implementieren die vorher nicht auftraten.


    Leider bekommt man hier von Buhl keine fachkundige Antwort darauf. Über den Support habe ich das letzte Mal ein Problem angesprochen woraufhin ich denen meine ganze Datenbank schicken sollte um das Problem anzugehen. Ich hatte zwar detaillierte Infos geschickt und hätte weitere nachreichen können, aber da bin ich aber nicht so ein Fan von die Daten zu 100% rauszugeben - auch wenn ich sonst nicht so streng bin. Also werde ich mir das Datenbank Thema nochmal im Sommer genauer ansehen (da ist es bei uns ruhiger) und wenn ich keine Lösung dafür finde muss ich mal schauen, was für eine Software noch in Frage kommen würde.


    Trotz allem - danke Dir für Deine Worte.

  • 10,5 GB ist jetzt nicht so groß wie ich erwartet hatte. Ihr arbeitet aber offensichtlich im Netzwerk ? Da gibt es ja genug Beiträge dass es gerade da besonders langsam wird. Ich denke die Software ist da einfach nicht performant genug fürs Netzwerk.


    Ansonsten noch die üblichen Tipps:

    -Archivieren von Vorgängen;

    -Ansicht: Nur Aktive anzeigen;

    -Reorganisieren

    -Indexieren


    Wenn es ein Windows-Netzwerk ist die Cache genau ins Auge nehmen.

  • Und hier noch ein Tipp:

    Unter Windows 10:

    Taskmanager starten mit strg-alt-entf

    Unter dem Reiter "details" folgende einträge suchen: "MB.exe"

    Mit der rechten Maustaste auf "Zugehörigkeit festlegen" überprüfen ob alle 4 Prozessoren (oder "alle") angehakt sind.

    Hier habe ich 3 mal MB.exe laufen. Einer der Prozesse nutzte bei mir nur einen Prozessor; nach dem Anhaken gings wieder ein bischen besser voran.

    Hier kann man auch mal fbquard und fbserver mal anschauen...


    ! Vorsicht - Das ganze wie immer natürlich ohne Gewehr !