ค่าสูงสุดของ max_connections ในอินสแตนซ์ของ AWS RDS ขนาดเล็ก


20

ปัจจุบันค่าสำหรับmax_connectionsพารามิเตอร์ในรูปแบบเซิร์ฟเวอร์ MySQL RDS t1.micro {DBInstanceClassMemory/12582880}คือ 32

เนื่องจากเซิร์ฟเวอร์ของฉันไม่อนุญาตให้มีการเชื่อมต่อใด ๆ หลังจาก 32 ค่าสูงสุดของความปลอดภัยสำหรับmax_connectionsฉันที่สามารถใช้กับอินสแตนซ์ขนาดเล็กคืออะไร


1
สำหรับการอ้างอิงเอกสารประกอบผลิตภัณฑ์ AWS RDS มีอยู่ที่awsdocs.s3.amazonaws.com/RDS/latest/rds-ug.pdf
Damien Allison

คำตอบ:


32

ประมาณ 2 ปีที่แล้วฉันได้รับมอบหมายให้ประเมิน Amazon RDS สำหรับ MySQL ฉันเขียนบางโพสต์ใน DBA StackExchange เกี่ยวกับสิ่งที่ค้นพบและข้อสังเกตของฉัน:

ในระยะสั้นมีสามตัวเลือกที่คุณไม่สามารถเปลี่ยนแปลงได้

นี่คือแผนภูมิที่ฉันบอกคุณถึงขีด จำกัด ต่อโมเดลเซิร์ฟเวอร์

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)

สำหรับคำถามจริงของคุณt1.microมีการตั้งค่า34 เป็นmax_connections หากคุณไม่สามารถเกิน 32 นั่นเป็นที่เข้าใจได้ค่อนข้างมาก Amazon AWS จะต้องสามารถเชื่อมต่อและตรวจสอบสิ่งสำหรับอินสแตนซ์ RDS เป็นSUPERผู้ใช้ ไม่สามารถที่จะไปไกลกว่า 32 เป็นที่เหมาะสมสำหรับt1.microอินสแตนซ์ ด้วยเหตุนี้คุณจะไม่มีทางเลือกนอกจากเชื่อมั่นในแผนการจัดการที่บริหารโดยอเมซอนสำหรับการจัดสรรmax_connectionsและตัวเลือกอื่น ๆ ให้กับอินสแตนซ์ MySQL ทั้งหมดใน AWS Cloud


คำตอบที่ดี แต่ฉันคิดว่าฉันสามารถเปลี่ยนได้ในกลุ่มพารามิเตอร์ที่กำหนดเอง ดังนั้นจึงไม่มีวิธีอื่นนอกเหนือจากการเพิ่มขนาดอินสแตนซ์?
หมวกฟาง

มีเพียง 3 ตัวเลือกเท่านั้นที่ไม่สามารถเปลี่ยนแปลงได้เพราะวงจรการกระจายที่เป็นธรรม, หน่วยความจำและประสิทธิภาพโดยรวมสำหรับอินสแตนซ์ MySQL RDS ทั้งหมดที่ทำงานอยู่
RolandoMySQLDBA

ลิงก์ทั้งหมดเป็นประโยชน์ คุณบันทึกวันไว้ให้ฉันแล้ว
หมวกฟาง

1
หากต้องการตรวจสอบ max_connections ของคุณให้ลองคำสั่งนี้: select @@ max_connections;
stevendaniels

1
ดูคำตอบของฉันด้านล่างserverfault.com/a/740138/104677
advncd

14

นี่คือสิ่งที่คุณสามารถทำได้เพื่อเปลี่ยนmax_connectionsหรือพารามิเตอร์อื่น ๆ ในอินสแตนซ์ AWS RDS (mysql):

  • จากคอนโซล RDS ไปที่กลุ่มพารามิเตอร์
  • สร้างกลุ่มพารามิเตอร์ใหม่ตามกลุ่มเริ่มต้นและตั้งชื่อ my-param-group
  • แก้ไขmax_connectionsหรือพารามิเตอร์อื่น ๆ ในmy-param-group
  • กลับไปที่หน้าหลักของอินสแตนซ์และคลิกปุ่มปรับเปลี่ยนในอินสแตนซ์แอ็คชันเพื่อแก้ไขอินสแตนซ์
  • เลือกmy-param-groupเป็นกลุ่มพารามิเตอร์ฐานข้อมูล
  • รีบูตอินสแตนซ์ของคุณ
  • ทำ!

1
ฉันคิดว่านี่น่าจะเป็นคำตอบที่ได้รับการยอมรับในตอนนี้
lucaConfa

9

ปรากฏว่าสิ่งต่าง ๆ มีการเปลี่ยนแปลงตั้งแต่คำตอบที่ยอมรับได้ หลังจากเห็นเธรดนี้ฉันได้ทำการทดสอบกับอินสแตนซ์ db.m3.medium RDS MySQL ที่มี max_connection ด้วยตนเองตั้งค่าเป็น 2000 โดยใช้กลุ่มพารามิเตอร์ DB ฉันสามารถสร้างการเชื่อมต่อ 2,000 ครั้งและได้รับข้อผิดพลาดที่คาดหวังจากการเชื่อมต่อมากเกินไปเท่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.