Seite 1 von 1
CAO wird immer langsamer
Verfasst: Mi 13. Okt 2010, 11:15
von Christian
Hallo,
ich habe hier ein Problem mit CAO. Die Datenbank hat mittlerweile fast 400MB, was grundsätzlich kein Problem darstellen sollte. In den _pos-Tabellen habe ich bis an die 500000 Datensätze. CAO wird von Woche zu Woche langsamer. Den Server selbst lässt die Situation "kalt", die Prozessorauslastung sowie der RAM-Bedarf (MySQL ca. 150 bis 200 MB im Durchschnitt) sind nicht ansatzweise besorgniserregend (Windows Server 2003 System). Das Netzwerk hat keinerlei Auslastungsspitzen und dümpelt, auch bei dem Maskenwechsel in CAO, vor sich hin.
Gibt es irgendwelche Optimierungstipps für CAO bzw. die MySQL-DB? Der Maskenwechsel in CAO ist mittlerweile schon sehr langsam und die ganze Abarbeitung hemmt den Betrieb schon merklich.
Auf einem anderen, von der Ausstattung total identischen Server, läuft ebenfalls eine MySQL DB (ebenfalls 4.1) mit einer CRM-System, welche ca. 700MB und ein paar Tabellen mit ca. 300000 Datensätzen. Ist zwar sicherlich nicht vergleichbar, aber es werden ebenfalls die Daten in manchen Masken direkt ausgegeben wie in CAO. Jedoch ist dort keine Latenz zu spüren.
Irgendwie denke ich, dass es mit CAO selbst zu tun hat und man die MySQL DB für die CAO-Bedingungen optimieren könnte.
Hat jemand von Euch einen Lösungsansatz dafür?
Vielen Dank.
Christian
Re: CAO wird immer langsamer
Verfasst: Do 14. Okt 2010, 08:40
von Jost
Hallo,
wieviel Treffer lässt du von CAO ausgeben- einstellbar im Menü Ansicht|Treffer.
Mal angenommen dort steht als Treffer die Zahl "200", dann kriegt CAO bei den meisten Abfragen doch nur 200 Datensätze übergeben und weiss gar nicht wieviel Datensätze MySQL auf dem Server dafür durchwursteln mußte.
Ich glaube Deine Datenmenge ist schon ein ausserordentlich großer Brocken, an diese Größenordnung kann ich mich in all den Forumsjahren nicht erinnern. Es gab mal ne MusterDB zum Download mit der man CAO plagen konnte, ich glaube damals ging es um die Obergrenze bei den Artikeln.
Re: CAO wird immer langsamer
Verfasst: Do 14. Okt 2010, 09:10
von Jost
Hallo,
a.) ich habe etwas im alten Forum gesucht, ich fürchte die alten Testdaten gibt's gar nimmer - sie wären vermutlich ohnehin für eine ältere CAO-Version gewesen.
http://www.cao-faktura.de/index.php?opt ... tdatenbank
b.) meine Vermutung mit der mördergroßen Datenbank will ich etwas relativieren, auch früher hatten andere schon große Datenbanken wenn sie Lieferantenkataloge importiert haben. Klagen kamen teilweise wegen Schwierigkeiten beim Import.
http://www.cao-faktura.de/index.php?opt ... pic&t=8227
http://www.cao-faktura.de/index.php?opt ... torder=asc
c.) die Geschwindigkeit von CAO kann m.E. nur von den Antwortzeiten des Servers bestimmt werden. Zum Vergleich kannste ja mal den SQL-Log einschalten und bei sehr langsamen Operationen die gleiche Abfrage in HeidiSQL (oder auch MySQLFront) eingeben. Das Ergebnis dürfte dort nicht schneller verfügbar sein als in CAO.
Vielleicht kann man MySQL etwas tunen:
http://dev.mysql.com/doc/mysql/en/query-cache.html
Re: CAO wird immer langsamer
Verfasst: Do 14. Okt 2010, 09:50
von Christian
Hallo Josef,
vielen Dank für die Antwort. Ich denke auch, dass man mit Optimierungen an MySQL etwas erreichen kann. Den Link von Dir schaue ich mir mal genau an und probiere mal Änderungen aus. Seltsamerweise interessiert es den Server selbst ja nicht die Bohne, also vermute ich, dass MySQL selbst die Ressourcennutzung begrenzt. Das einzige was mir noch nicht eingeht ist, dass die CRM-Software auf dem anderen Server auch Out of the Box installiert wurde ohne Anpassungen des MySQL Servers an sich und dort keine Performancebeeinträchtigungen erkenntlich sind. Aber mal schauen, was mit Caching und weiteren Optimierungen zu erreichen ist.
Noch mal Danke!
Re: CAO wird immer langsamer
Verfasst: Do 14. Okt 2010, 14:03
von Jost
Hallo Christian,
ohne jetzt nen MySQL-Plan zu haben ist für mich leicht vorstellbar, wie wenig die beiden Anwendungen u.U. miteinander vergleichbar sind.
Ich weiss jetzt nicht wieviel versch. Artikel und Adressen Deine Datenbank hat. Aber bildhaft am Beispiel Rechnungsdruck vorgestellt muß man sich ja nur selbst mal vor Augen halten, wieviel man in Karteikästen blättern müsste, um alle Informationen zusammenzusuchen. Die Datenbankindexe entsprechen dabei den alfabetischen Reiter beim Karteikasten.
Falls Du schon mal die Struktur der CAO-Datenbanken angeschaut hast, dann hast du vielleicht auch wie ich gestaunt, wieviel verschiedene Tabellenspalten die einzelnen Datenbanken haben. Und gerade bei Berichten (Angebot bis Rechnung), Journalen sind da eine Menge Verknüpfungen zu anderen Datenbanken und auch noch verschiedene Filter (Datum, Stadium) im Spiel. Leicht nachvollziehbar, daß bei zunehmender Datenmenge die Zugriffzeiten größer werden.
Ist wie bei mir in der Werkstatt, je größer der Saustall, umso länger muß ich nach dem Werkzeug suchen.
Die Performanz der anderen Anwendung ist m.E. kein wirklicher Anhaltspunkt.
Vereinfachtes Beispiel: Ein reine Adressdatenbank mit indizierter Namenspalte kann meinetwegen 2 Mio. Einträge ohne nennenswerte Laufzeiten beim Zugriff über den Namensindex haben.
Probier doch mal folgendes:
Ziehe Dir die Bildschirmanzeige des Servers per VNC o.ä. auf Deinen Arbeitsplatz.
Starte dann auf dem Server den Taskmanager und bringe den Prozess "mysql-nt.exe" zur Anzeige
Verfolge die angezeigte CPU-Auslastung während Du in CAO die zähesten Vorgänge durchprobierst.
Berichte uns, welche Werte Du dort beobachtet konntest - das interessiert mich nun auch.
Re: CAO wird immer langsamer
Verfasst: Do 14. Okt 2010, 14:17
von Christian
Hi,
ja, da hast Du schon recht. Ein Vergleich hinkt da schon, stimmt. Ich werde dass alles mal so durchführen wie Du beschrieben hast und lasse dann die Ergebnisse wissen.
Re: CAO wird immer langsamer
Verfasst: Mi 3. Nov 2010, 20:38
von Christian
Hi,
mal eine kurze Zwischenmeldung. Als erstes habe ich mir die Trefferanzahl für die Ausgabe angesehen und von 500 auf 50 umgestellt. Dies brachte einen deutlichen Zuwachs an Geschwindigkeit und ist nachvollziehbar. Ich habe mich dann damit ein bisschen gespielt und die Serverlast mit Perfmon kontrolliert. Das hatte zwar eine Auswirkung, aber nicht wirklich so relevant für die doch hohen Latenzunterschiede von bis zu 10 Sekunden. Nun habe ich mit tcpview und wireshark das Netzwerk etwas genauer unter die Lupe genommen und da festgestellt, dass sich auf dem Netzwerk Error-Pakete bei der Abfrage 500 zu 50 bzw. sogar kein Limit auf 50 gebildet haben (um so mehr Treffer desto mehr Errors). Lange Rede kurzer Sinn, erst dache ich die Netzwerkkarte ist defekt bzw. der Serverport am Switch. Wars nicht, also Google-Suche bemüht und festgestellt, dass der verwendete Treiber des Broadcom-Chips der Netzwerkkarte mit Windows Server 2003 SP2 buggy ist. Neuer Treiber und die Errors sind weg und die Geschwindigkeit ist spürbar besser.
Nichts desto trotz ist das Umschalten in CAO z.B. von Lieferscheinen auf Rechnung nicht mehr optimal und flüssig. Der nächste Schritt ist nun der direkte Vergleich wie von Josef vorgeschlagen sowie die Anpassung der MySQL-Konfiguration. Ergebnis bzw. getätigten Optimierungsschritte folgen!
Re: CAO wird immer langsamer
Verfasst: Mi 3. Nov 2010, 21:18
von Sebastian.Herbig
läuft der Client mit Windows 7 (64bit)?
wir hatten hier Probleme mit einer Netzwerkeinstellung, welche ständig defekte Datenpakete verursacht hatte.
Re: CAO wird immer langsamer
Verfasst: Do 4. Nov 2010, 07:23
von Christian
Hi,
ein Rechner hat Win7 64bit, der Rest ist noch XP. Aber ich werde hier an jedem Rechner selbst auch noch mal schauen. Das Log vom Switch ist zwar "ruhig", aber traue keiner Statistik die du selbst gefälscht hast :-).
Warum meine Vermutung mit MySQL-Problemen an sich selbst immer noch latent im Raum steht ist, dass es ja im Laufe des Betriebs immer langsamer wurde. Ich denke, MySQL out of the box lässt sich definitiv noch optimieren. Und da sind die Fundstellen im Netz so vielflätig und oft auch widersprüchlich, dass ich mir erst einen Fahrplan zusammenstelle. Und da mache ich jetzt mal mit Josefs Punkten weiter und arbeite mich Stück für Stück vor.
Re: CAO wird immer langsamer
Verfasst: Fr 5. Nov 2010, 08:04
von nico
Hallo,
ich absolut keine Ahnung von NEtzwerk und so...
Wie läuft den CAO auf dem Server selbst? Hast du das mal ausprobiert?
Dann würde ich PC für PC an das Netzwerk anschließen, und mal schauen, ab wann CAO langsamer wird.
Ich hatte auch mal Tempoprobleme, nach update der Netzwerkarte wurde es besser, aber reichte noch nicht...
Dann hatte ich meinen PC aus praktischen Gründen über die FritzBox im Netzwerk intrigiert. Die Box war auch ein Flaschenhals.
Jetzt habe ich einen HUB / Switch (?) dazwischen hängen, und es wurde besser. Und da son Hub auch noch eine Adminmaske hat, denke ich, das man da auch noch etwas tunen kann.
Das CAO SQL-Log ist ja wohl bei dir ausgeschaltet, oder?
Re: CAO wird immer langsamer
Verfasst: Fr 5. Nov 2010, 09:26
von Benjamin.Fischer
Hallo,
um das Netzwerk evtl. auszuschließen könnte man CAO auf dem Server installiern und dort ein wenig testen.