Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL-Server has gone away (https://www.delphipraxis.net/95098-mysql-server-has-gone-away.html)

TheMiller 30. Jun 2007 19:53

Datenbank: MySQL • Version: 5.0.12 • Zugriff über: ZEOS

MySQL-Server has gone away
 
Hallo,

mal eine kleine Frage: Ich habe eine ziemlich umfassende Software für eine größere Kanzlei geschrieben. Der Server läuft seit 74 Tagen non-stop und musste mittlerweile über 12 Millionen anfragen bewältigen. Der größte Teil der Anfragen wird wohl durch einen Timer verursacht. Alle 10 Sekunden werden verschiedene Statusanzeigen aktualisiert. Dahinter stecken jedesmal 3-5 Queries. Das macht bei einer größeren Anzahl an Clients (zwischen 5 und 7) ziemlich viel aus.

Nun habe ich das Problem, dass sich das Programm von mir mit der Meldung "MySQL-Server has gone away" verabschiedet. Dies war aber immer nur auf dem Notebook der Fall. Jetzt haben wir neue Rechner bekommen und siehe da - jetzt passiert es auf allen Rechnern (alle WinXP SP2).

Da habe ich einfach den DB-Server neu gestartet und er läuft seit 5 Stunden stabil. Kann das daran liegen, dass er einfach mit den schon bewältigten Daten (die 12 Mio. Queries) einfach überlastet war?

Dankeschön

Phoenix 30. Jun 2007 19:57

Re: MySQL-Server has gone away
 
Läuft der Server auf einer Linuxkiste oder auf einem Windows-Rechner?

TheMiller 30. Jun 2007 20:05

Re: MySQL-Server has gone away
 
Linux...! Wennschon, Dennschon!

Dax 30. Jun 2007 20:08

Re: MySQL-Server has gone away
 
200 Queries pro Minute klingt für mich nicht grade nach Serverüberlastung. Ein Problem, das ich mal mit MySQL hatte, war, dass Verbindungen zum Server nicht geschlossen wurden. Entweder hat sie der Timeout erwischt, oder das Ende des Programms respektive des MySQL-Servers. Vielleicht kannst du dort auch ansetzen.

Phoenix 30. Jun 2007 20:23

Re: MySQL-Server has gone away
 
Lief da ein Update des Linux-Servers? Ich hab auf meinem Root-Server (Debian) immer das Problem, dass die Sockets abkacheln wenn ich das System aktualisiere. Ich muss danach immer den Prozess des Mailservers und der MySQL Datenbank neu starten damit die sich wieder miteinander verbinden können (Die Mailaccounts sind in der Datenbank konfiguriert).

TheMiller 30. Jun 2007 22:02

Re: MySQL-Server has gone away
 
Hm, ne... alles ganz regulär! Nur folgendes:

Hab ja gesagt, dass der Fehler nur auf dem Notebook auftrat. Dieser Rechner war bis heute der einzige mit SP2. Alle Computer, die jetzt auch SP2 haben, haben das gleiche Problem. Nur mein Notebook, welches Vista hat, hat bisher den Fehler nicht gezeigt. Alle PCs, die bisher kein SP2 hatten, liefen absolut IMMER ohne diesen Fehler. Liegt's am SP2? Liegt's an der SQL-Server? Liegt's an meiner Programmierung?

Timeout kann ich ausschließen, da der Fehler auch bei einem Neustart des Programms auftritt. Daten über 1MB senden wir auch nicht. Der Fehler tritt absoult irregulär auf. Man kann es nicht zeitlich abschätzen - mal sofort, mal nach 2 Stunden etc...

Danke für eure Hilfe!

Dax 30. Jun 2007 22:06

Re: MySQL-Server has gone away
 
Werden die Verbindungen auch richtig geschlossen? Oder bleiben tote Verbindungen zurück, die Slots belegen aber nix tun?

TheMiller 30. Jun 2007 23:46

Re: MySQL-Server has gone away
 
Ich glaube es bleibt nix zurück... denn:

Wenn der Fehler auf PC-1 auftritt, dann bricht bei JEDEM PC die Verbindung zusammen. Also alle Clients schließen, neu öffnen und alles geht wieder - als ob nix gewesen wär!

TheMiller 1. Jul 2007 12:46

Re: MySQL-Server has gone away
 
Also,

der Fehler liegt definitiv beim SP2. Alle Clients ohne SP2 oder mit Vista funktionieren. Die Windows-Firewall ist ausgeschaltet... ich weiß nicht mehr weiter.

Memo 1. Jul 2007 12:59

Re: MySQL-Server has gone away
 
Zitat:

Zitat von DJ-SPM
der Fehler liegt definitiv beim SP2.

Ich weiß nicht recht ob das definitiv so ist. Noch ein paar Ansätze fürs Suchen.

TheMiller 1. Jul 2007 13:03

Re: MySQL-Server has gone away
 
Danke,

die Referenzseite habe ich leider schon durch. Aber auffälliger geht es doch garnicht mehr. Es trat auf allen 5 Rechnern nie auf. Dann habe ich gestern das SP2 installiert und sofort war der Fehler da, ohne dass ich was am Code geändert habe. Soll ich mal versuchen den SQL-Server auf eine neue Versoin zu bringen?

Memo 1. Jul 2007 13:18

Re: MySQL-Server has gone away
 
Ich würde erst versuchen den Server mal auf ein Windows-System zu bringen.
Und hast Du mal mit Tools wie Navicat versucht? Evt. siehst Du mit dem dort enthaltenenen Servermonitor wo das Problem liegt und nach dem auftreten des Fehlers kannst Du einige Resets des Servers und seiner Zwischenspeicher durchführen.

TheMiller 1. Jul 2007 13:22

Re: MySQL-Server has gone away
 
Naja,

ich kann nicht einfach das OS wechseln. Ich schau mal, wo und wann der Fehler auftritt und versuche nochmal meinen Programm zu durchforsten...

Und ein Update der DB werde ich auch machen.

marabu 1. Jul 2007 15:55

Re: MySQL-Server has gone away
 
Hallo,

rein theoretisch kann es schon sein, dass der MySQL Server weggegangen ist. Er könnte auf die Idee gekommen sein, dass deine Clients nichts mehr von ihm wollen. Seit XP SP2 ist die Zahl der offenen Verbindungen standardmäßig auf 10 limitiert. Hast du mal die Ereignisanzeige auf den betroffenen Clients durchgesehen? Event-ID 4226 wäre das Ereignis, nach dem du Ausschau halten müsstest. Das Ergebnis wäre in solchen Fällen ein Time-Out, der zum Verlust der DB-Verbindung führt.

Ich will dich auf keinen Fall davon abhalten deine Server-Software auf ein aktuelles Release umzustellen, aber der Fehler scheint mir eindeutig auf der Client-Seite zu liegen.

Grüße vom marabu

DGL-luke 1. Jul 2007 16:00

Re: MySQL-Server has gone away
 
Zitat:

Zitat von marabu
Seit XP SP2 ist die Zahl der offenen Verbindungen standardmäßig auf 10 limitiert.

Wie viele halboffene (!) Verbindungen braucht man gleich nochmal für eine Verbindung zum MySQL-Server?

Da müsste er schon sehr viel falsch machen auf Clientseite.

TheMiller 1. Jul 2007 16:26

Re: MySQL-Server has gone away
 
Hey Jungs und Mädels...

also, ich habe das Programm mitgenommen und mich von hier aus mit der DB verbunden. Das Programm läuft absolut stabil - ganz egal, ob ich damit arbeite, oder ob es einfach nur steht. Aber ich weiß, dass auch von hier (zu Hause) der Fehler auftritt, da ich es schon selbst gesehen habe. Absolut ohne Regelmäßigkeit!

Mein Rechner ist auch XP-SP2.

Zeitgleich läuft es auch heute auf dem Notebook, auf dem immer der Fehler war. Da trat der Fehler auch nicht auf.

Wo soll ich ansetzen??

TheMiller 1. Jul 2007 18:04

Re: MySQL-Server has gone away
 
Hallo,

eine kuze Frage: Kann es auch mit Oplocks zusammenhängen?

TheMiller 9. Jul 2007 14:54

Re: MySQL-Server has gone away
 
Hallo,

das Problem besteht immernoch und hängt definitiv mit dem SP2 zusammen. Es wurden ja Netzwerkeinstellungen (in Bezug auf Verbindungen etc) im SP2 geändert. Habt ihr weitere Informationen? Das Problem hat(te) auch der Mysql-Query-Browser. Ich habe nun den gleichen Fehler.

Brauche Hilfe!

Danke im Voraus

divBy0 18. Okt 2007 06:53

Re: MySQL-Server has gone away
 
Ich hänge mich hier mal an...

Hab das gleiche Problem, nur bei mir läuft die Clientsoftware 7 Tage rund um die Uhr. Wie kann ich denn den MySQL-Server, der läuft auf der gleichen Kiste unter Windows wie die Clientsoftware dazu bringen, dass er die Verbindung beibehält?

Gruß
Marc

Thanatos81 18. Okt 2007 07:08

Re: MySQL-Server has gone away
 
Ich hatte das Problem bei einer Delphi-Anwendung die auf den MySQL-Server meines Webspace-Anbieters zugreift. Da war die TimeOut-Grenze recht niedrig. Da ich die dort aber ja schlecht verstellen konnte, hab ich regelmäßig die MySQL-Connection (glaub war ZEOS) einen Ping absetzen. Seitdem ist das Problem abgehakt, die Anwendung läuft durch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 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