Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi mySQL Optimierung/Einstellung (https://www.delphipraxis.net/179237-mysql-optimierung-einstellung.html)

Lemmy 21. Feb 2014 22:21

Datenbank: mySQL • Version: 5.1 • Zugriff über: odbc/Mydac

mySQL Optimierung/Einstellung
 
Hi,

ich habe hier eine Delphi-Anwendung die per odbc auf einen MySQL Server zugreift. Die Umstellung auf MyDAC ist schon erfolgt, selbes Problem.

Die Anwendung liest im Grunde ne handvoll Tabellen aus, verarbeitet die Daten und schreibt wieder was zurück. Laufzeit je nach Umfang der Datenbank zwischen 1 und 120 Minuten.

problem: Bei mir auf dem System braucht die Anwendung rund das 4-5 fache an Zeit als beim Kunden (also erst mal kein dringendes Problem - nervt aber beim Debuggen) - und ich habe keinen blassen Schimmer was ich falsche mache / falsch konfiguriert habe.
Die Zeit geht bei mir insbesondere beim Auslesen von Daten drauf (fetch). Ich vermute, dass ich hier einen Fehler in der Konfiguration des Servers oder der Verbindung habe.

Der Server ist virtualisiert auf einem ESXi 5.5, CPU ist ein Xeon 3, 18 GByte RAM, für den MySQL Server sind 8 GByte eingestellt, das Image liegt auf einer SSD. OS ist CentOS 6.5 (vorher Ubuntu) MySQL Version 5.1.71 (ist gesetzt, d.h. nicht änderbar). Zur Vollständigkeit: der Speicher reicht für die Verarbeitung aus, es werden max. 4Gbyte verwendet, definitiv nichts geswapt.

Der Client läuft ebenfalls auf dem ESXi, kann aber auch auf einem anderen Rechner liegen. Ich habe als OS ein XP oder auch ein Win 7 - in beiden kann ich keinen Unterschied fest stellen.

Die Netzwerkverbindung zwischen dem Client und dem Server habe ich mit iperf gemessen und habe bei mir in verschiedenen Konfigurationen (z.B. wenn ich MYSQL-Server und Client auf meinem AMD A10-5800 laufen lasse) sehr unterschiedliche Geschwindigkeiten raus bekommen, auf dem ESX liegen die rund 3x über denen des AMD - aber auch das hat keinen Einfluss auf die Geschwindigkeit.


Hat irgend jemand ne Idee was ich testen/ändern könnte um dem Zeitfresser auf die Spur zu kommen?

Sir Rufo 21. Feb 2014 22:52

AW: mySQL Optimierung/Einstellung
 
Ohne die Tabellenstruktur und Abfrage/n zu kennen? Nö

hstreicher 22. Feb 2014 08:07

AW: mySQL Optimierung/Einstellung
 
Wenn du wissen möchtest wieso es bei deinem Kunden so viel schneller ist ,
wieso schreibst du dann nichts über das Setup beim Kunden?
ist ziemlich schwierig einen Vergleich mit nichts zu ziehen.

was hier fehlt sind Informationen wie

Prozessorauslastung ?

Wo liegt die Datenbank , auch auf der SSD ?
Raid ? was für eins? Stripset Größe?

Die Leistung einer Datenbank wird von 4 Faktoren beeinflusst
Disk
CPU
RAM
Netzwerk

je nach Query mit unterschiedlichem Einfluss
Ram sagts du reicht
bleiben Disk und CPU und Netzwerk

eine brauchbare Liste mit den Daten die bei Datenbankperformanceproblemen zu liefern sind
gibt es hier

http://ib-aid.com/articles/item157

mfg hannes

jobo 22. Feb 2014 08:22

AW: mySQL Optimierung/Einstellung
 
Wenn die Serverkonfiguration im Verdacht steht, kann man ja einfach mal eine "Trockenübung" machen und die Daten zu Fuß runterladen, also mit mySQL Client ohne EXE. Dürfte ja dann auch langsam sein.
Bliebe noch eine hohe Netzauslastung oder einige ungünstige Netzkonfiguration.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz