Wir haben ein zeitweiliges Problem mit Verbindungen zu unserem mysql-Server. Der Fehler, den wir erhalten, ist wie folgt.
(2003, 'Can\'t connect to MySQL server on \'<connection>\' ((2013, "Lost connection to MySQL server during query (error(104, \'Connection reset by peer\'))"))')
Callstack:
File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 818, in _connect
2003, "Can't connect to MySQL server on %r (%s)" % (self.host, e))
File "/usr/lib64/python2.7/site-packages/pymysql/connections.py", line 626, in __init__
self._connect()
Weitere Informationen:
Der Fehler selbst scheint von der TCP-Verbindung erzeugt zu werden, die auf dem ec2 geschlossen ist. Unsere TCP Keep Alive Time ist auf 7200 Sekunden eingestellt und dann wird der Fehler ausgelöst.
Meine Frage ist, was getan werden kann, um herauszufinden, warum diese Schluckauf passiert? Es ist toll, dass sie nicht oft vorkommen, aber es ist nicht ideal, dass sie überhaupt passieren.
Jeder Rat wäre dankbar, danke!
Update 10/29:
Ich habe einen Dienst ausgeführt, der prüft, ob auf dem SQL-Server lange Prozesse laufen, und es sieht so aus, als würden diese Fehler nicht so weit kommen. Ein neuer Prozess wird nie für diese Verbindung erstellt! Ich habe immer noch die Schluckauf bekommen, nur keine Anzeichen von Verbindungen.
Nach einem hin und her mit Amazon-Unterstützung ist hier die aktuelle Lösung, zu der wir gekommen sind.
Amazon hat unser Socket-Listen-Backlog angehoben, indem wir den somaconn-Wert für die RDS-Instanz angepasst haben.
Der Wert hatte den Standardwert 128 und wurde auf 1024 erhöht.
Sobald der Wert angepasst wurde, haben wir den Fehler Verbindungsverlust nicht mehr erhalten.
Tags und Links django mysql amazon-web-services amazon-rds pymysql