Eşzamanlı bağlantılarda ani artışlar olduğunda veya iş yükünüz değiştiğinde, ApsaraDB RDS for MySQL örneğiniz için bağlantı sınırlarını ayarlamanız gerekebilir. ApsaraDB RDS konsolu veya API aracılığıyla max_connections ve max_user_connections parametrelerini değiştirebilirsiniz. Her iki parametre de dinamiktir ve yeniden başlatma gerektirmeden anında etkinleşir.
Parametreler
Bir RDS örneğine yapılan eşzamanlı bağlantıların maksimum sayısını iki MySQL parametresi kontrol eder:
| Parametre | Kapsam | Aralık | Aşıldığında oluşan hata |
|---|---|---|---|
max_connections |
Tüm veritabanı hesapları toplamı | 1 ila 200.000 | too many connections |
max_user_connections |
Veritabanı hesabı başına | 10 ila 200.000 | has more than 'max_user_connections' veya has exceeded the 'max_user_connections' |
Bu konuda "hesap" ifadesi, Alibaba Cloud hesaplarını değil MySQL veritabanı kullanıcı hesaplarını ifade eder.
Yüksek bağlantı sınırlarının etkisi
Bağlantılar bellek tüketir. max_connections değerini çok yüksek ayarlamak bellek yetersizliği (OOM) hatalarına neden olabilir ve örneğin kararlılığını bozabilir. Kararlılığı korumak için bu parametreyi örnek türünüzün desteklediği maksimum değere ayarlayın.
Davranış: Çalışan Değer ve open_files_limit
Çalışan Değer, O&M için ayrılan bağlantıları içerir.
max_connectionsdeğerini değiştirdikten sonra, Parameters sayfasındaki Running Value sütunu belirttiğinizden daha yüksek bir sayı gösterir. Bu değer, rutin O&M işlemleri için ayrılan bağlantıları içerir. Belirttiğiniz değer ise Basic Information sayfasındaki Configuration Information bölümünde yer alan Maximum Connections alanında yansıtılır.-
**Yeniden başlatmada
open_files_limitdeğerimax_connectionsdeğerini sınırlayabilir.** Örnek yeniden başlatıldığındamax_connectionsetkin değeri şu şekilde hesaplanır:open_files_limitvarsayılan değeri 655.350'dir.max_connectionsdeğerini 654.540'ın üzerine ayarlarsanız, yeniden başlatma sonrasımax_connectionsdeğerinin sınırlandırılmasını önlemek için konsoldanopen_files_limitdeğerini de artırın.open_files_limitstatik bir parametredir; değişikliklerin etkili olması için örneğin yeniden başlatılması gerekir.min(open_files_limit - 810, user-defined value or instance type default + O&M reserved connections)
Önkoşullar
Başlamadan önce şunlara sahip olduğunuzdan emin olun:
Bir ApsaraDB RDS for MySQL örneği
Örnek parametrelerini değiştirme izni
Konsolda parametreleri değiştirme
ApsaraDB RDS konsoluna giriş yapın. Üst gezinme çubuğundan RDS örneğinizin bölgesini seçin. Örneği bulun ve ID'sine tıklayın.
Sol gezinme bölmesinde Parameters seçeneğine tıklayın.
Modifiable Parameters sekmesinde
max_user_connectionsveyamax_connectionsparametresini bulun. Running Value sütunundaki
simgesine tıklayın, yeni değeri girin ve OK seçeneğine tıklayın.-
Apply Changes seçeneğine tıklayın. İletişim kutusunda değişikliğin ne zaman etkili olacağını seçin ve OK seçeneğine tıklayın.
Notmax_connections ve max_user_connections değişiklikleri anında etkili olur. Yeniden başlatma gerekmez.
API çağrısı yaparak parametreleri değiştirme
Her iki parametreyi tek bir istekte değiştirmek için ModifyParameter işlemini çağırın.
Örnek istek
Aşağıdaki örnek max_connections değerini 2000'e ve max_user_connections değerini 500'e ayarlar:
http(s)://rds.aliyuncs.com/?Action=ModifyParameter
&DBInstanceId=rm-gs5v9xajylz45****
&Parameters={"max_connections":"2000","max_user_connections":"500"}
&<Common request parameters>
Örnek yanıt (JSON)
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "542BB8D6-4268-45CC-A557-B03EFD7AB30A"
}
Değişikliği doğrulama
ApsaraDB RDS konsoluna giriş yapın. Üst gezinme çubuğundan RDS örneğinizin bölgesini seçin. Örneği bulun ve ID'sine tıklayın.
Sol gezinme bölmesinde Parameters seçeneğine tıklayın.
-
Edit History sekmesine tıklayın ve yeni değerlerin listelendiğini onaylayın.

SSS
max_connections değerini değiştirdikten sonra Running Value neden girdiğim değerden daha yüksek gösteriliyor?
Running Value değeri, örneğin kararlılığını korumak amacıyla yönetim sistemi tarafından rutin O&M işlemleri için ayrılan bağlantıları içerir; bu nedenle belirttiğiniz değerden daha yüksektir. Uygulamanız için kullanılabilen maksimum bağlantı sayısı, Basic Information sayfasındaki Configuration Information bölümünde yer alan Maximum Connections alanında gösterilir.
Örnek türünü yükselttim ancak maksimum bağlantı sayısı değişmedi. Neden?
Örnek türünü yükseltmek max_connections değerini otomatik olarak ayarlamaz. Değeri konsol veya API aracılığıyla manuel olarak değiştirin. Her örnek türü için varsayılan bağlantı sınırları örnek türü referansında listelenmiştir.