2014-10-24 4 views
8

Wir haben ein zeitweiliges Problem mit Verbindungen zu unserem MySQL-Server Zeitlimit. Der Fehler, den wir erhalten, ist wie folgt.Intermittierend kann keine Verbindung zu MySQL auf AWS hergestellt werden RDS (Fehler 2003)

(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()

Einige weitere Informationen:

  • Wir haben einen Flug von EC2-Server, die ständig Anfragen an einen Back-End-RDS ausgeführt werden.
  • Wir durchschnittlich etwa 500 Verbindungen pro Sekunde an den RDS
  • Wir haben etwa 0-4 Schluckauf pro RDS pro Tag
  • Der Schluckauf mit unserem Wartungsfenster entspricht nicht
  • Wenn wir einen Schluckauf schlagen kann es Auswirkungen auf ganz wenige Verbindungen ~ 50
  • Wenn ein Schluckauf geschieht, wird es Verbindungen auf allen Servern und Ports stören

der Fehler, sich von der tCP-Verbindung erzeugt werden, sieht auf der EC2 geschlossen. Unsere TCP Keep Alive Time ist auf 7200 Sekunden eingestellt und der Fehler wird ausgelöst.

Meine Frage ist, was getan werden kann, um herauszufinden, warum diese Schluckauf passieren? Es ist großartig, dass sie nicht oft vorkommen, aber es ist nicht ideal, dass sie überhaupt passieren.

Jeder Rat würde geschätzt werden danke!

-Update 10/29:

Ich habe Überprüfung einen Dienst läuft, wenn ich irgendwelche lange Prozesse auf dem SQL-Server haben, um zu sehen und es sieht aus wie diese Fehler nicht so weit bekommen. Ein neuer Prozess wird nie für diese Verbindung erstellt! Ich habe immer noch die Schluckauf bekommen, nur keine Anzeichen von Verbindungen.

Antwort

1

Also nach einem hin und her mit Amazon Support ist hier die aktuelle Lösung, die wir gekommen sind.

Amazon hat unseren Socket-Listen-Backlog erhöht, indem der Somaconn-Wert auf der RDS-Instanz angepasst wurde.

Der Wert wurde auf dem Standardwert von 128 und wurde 1024.

gestoßen Sobald der Wert, den wir nicht mehr die verlorenen Verbindungsfehler empfangen wurde eingestellt.

+0

Hallo @ Zach, ich habe ein ähnliches Problem. Ist dieser Wert über die Verwaltungskonsole konfigurierbar oder muss ich mich an den Support wenden? – Pacharrin

+0

Leider müssen Sie sich jetzt direkt an den Support wenden. Ich wurde informiert, dass es in ihrem Rückstand ist, es zu ändern, aber es gibt kein konkretes Datum wann das Feature veröffentlicht wird. – Zach