Höchster Wert von max_connections in der AWS RDS-Mikroinstanz

20

Derzeit beträgt der Wert für den max_connectionsParameter in einem MySQL RDS t1.micro-Servermodell {DBInstanceClassMemory/12582880}32.

Da mein Server nach 32 keine weiteren Verbindungen zulässt, wie hoch ist der maximale sichere Wert, den max_connectionsich für eine Mikroinstanz verwenden kann?

Strohhut
quelle
1
Als Referenz finden Sie die AWS RDS-Produktdokumentation unter awsdocs.s3.amazonaws.com/RDS/latest/rds-ug.pdf
Damien Allison,

Antworten:

32

Vor ungefähr 2 Jahren wurde ich mit der Evaluierung von Amazon RDS für MySQL beauftragt. Ich habe einige Posts in DBA StackExchange über meine Ergebnisse und Beobachtungen geschrieben:

Kurz gesagt, es gibt drei Optionen, die Sie nicht ändern können

Hier ist das Diagramm, das ich erstellt habe, um Ihnen die Modellgrenzen pro Server aufzuzeigen

MODEL      max_connections innodb_buffer_pool_size
---------  --------------- -----------------------
t1.micro   34                326107136 (  311M)
m1-small   125              1179648000 ( 1125M,  1.097G)
m1-large   623              5882511360 ( 5610M,  5.479G)
m1-xlarge  1263            11922309120 (11370M, 11.103G)
m2-xlarge  1441            13605273600 (12975M, 12.671G)
m2-2xlarge 2900            27367833600 (26100M, 25.488G)
m2-4xlarge 5816            54892953600 (52350M, 51.123G)

Wie für Ihre eigentliche Frage, t1.microhat 34 als Einstellung max_connections . Wenn Sie 32 nicht übertreffen können, ist das ganz verständlich. Amazon AWS muss in der Lage sein, als SUPER- Benutzer eine Verbindung zur RDS-Instanz herzustellen und diese zu überwachen . Nicht in der Lage zu sein, über 32 hinauszugehen, ist für eine t1.microInstanz angemessen . In Anbetracht dessen haben Sie keine andere Wahl, als dem von Amazon verwalteten Verwaltungsschema zu vertrauen, um max_connections und andere Optionen auf alle MySQL-Instanzen in der AWS Cloud aufzuteilen .

RolandoMySQLDBA
quelle
Gute Antwort. aber ich dachte, ich kann es in der benutzerdefinierten Parametergruppe ändern. Es gibt also keinen anderen Weg als die Instanzgröße zu erhöhen?
Strohhut
Nur diese drei Optionen sind aus Gründen der gerechten Verteilung von CPU-Zyklen, Arbeitsspeicher und Gesamtleistung auf alle laufenden MySQL RDS-Instanzen unveränderlich.
RolandoMySQLDBA
Alle Links sind hilfreich. Du hast mir einen Tag gespart
Strohhut
1
Führen Sie den folgenden Befehl aus, um Ihre max_connections zu überprüfen: select @@ max_connections;
Stevendaniels
1
Siehe meine Antwort unter serverfault.com/a/740138/104677
advncd
14

Folgendes können Sie tun, um max_connectionsoder einen anderen Parameter in einer AWS RDS (mysql) -Instanz zu ändern :

  • Wechseln Sie in der RDS-Konsole zu Parameter Groups
  • Erstellen Sie eine neue Parametergruppe basierend auf der Standardgruppe und benennen Sie diese my-param-group
  • Ändern max_connectionsoder andere Parameter inmy-param-group
  • Zurück zum Beispiel Haupt-Seite , und klicken Sie auf Ändern in Instance Aktion , um die Instanz zu ändern
  • Wählen Sie my-param-groupals DB-Parametergruppe
  • Starten Sie Ihre Instanz neu
  • Getan!
advncd
quelle
1
Ich denke, dies sollte jetzt die akzeptierte Antwort sein
lucaConfa
9

Es scheint, dass sich die Dinge seit der akzeptierten Antwort geändert haben. Nachdem ich diesen Thread gesehen hatte, führte ich einen Test auf einer RDS-MySQL-Instanz mit db.m3.medium durch, wobei max_connection mithilfe von DB-Parametergruppen manuell auf 2000 gesetzt wurde. Ich konnte 2000 Verbindungen erstellen und habe erst dann den erwarteten Fehler "Zu viele Verbindungen" erhalten.

George P
quelle