MySQL yoğun saatlerde duruyor, sorgular takılıyor ya da servis kendini yeniden başlatıyorsa sebep genelde MySQL Governor’dır. Governor, belirlenen limiti aşan kullanıcıyı kısıtlar ve bazen tüm MySQL’i kilitlenmiş gibi gösterir. Sorun bu: limit çok agresif ayarlı ya da yanlış kullanıcı throttling’e giriyor. Aşağıdaki adımları uygulayarak düzeltebilirsin.
Sorun şu:
Governor, belirli bir kullanıcıyı CPU/sorgu limiti nedeniyle kısıtlıyor. Bu sırada MySQL yavaşlıyor ya da cevap vermez hale geliyor. Aşağıdaki adımları uygulayarak düzeltebilirsin.
Çözüm Adımları
1) Governor gerçekten devrede mi kontrol et
SSH ile:
Çalışıyorsa aktif demektir.
Governor durumunu görmek için:
Kısıtlanan kullanıcı varsa burada görünür.
2) Hangi kullanıcı kısıtlanıyor bak
veya:
Sürekli aynı kullanıcı limit yiyorsa sorun o hesapta.
3) Limitler çok düşük olabilir
WHM üzerinden:
-
WHM → CloudLinux → MySQL Governor
-
“Settings” bölümüne gir.
-
CPU ve Read/Write limitlerini kontrol et.
Aşırı düşük tipik hatalı değerler:
-
CPU %50 altı
-
Çok düşük read/write saniye limiti
Yoğun sunucuda bu değerler agresif kalabilir. Sunucu kapasitesine göre artır.
Kaydet ve 5 dakika gözlemle.
4) Geçici test için Governor’ı durdur
Sorunun gerçekten Governor’dan geldiğini netleştirmek için kısa süreli kapat:
MySQL normale dönüyorsa sorun limit ayarındadır.
Tekrar aç:
Kalıcı kapatma için:
5) MySQL yükünü kontrol et
Governor kilitliyor olabilir ama asıl sorun kötü sorgudur.
Uzun süren sorgular varsa optimize edilmesi gerekir.
CPU kontrolü:
mysqld sürekli %100 ise sorgu problemi vardır.
6) Problemli kullanıcıyı geçici olarak whitelist’e al
Test için:
Bu kullanıcı Governor tarafından kısıtlanmaz.
Eğer sorun düzelirse limit değerlerini yeniden ayarlaman gerekir.
7) MySQL konfigürasyonu zayıf olabilir
my.cnf içindeki buffer değerleri çok düşükse Governor daha hızlı devreye girer.
Kontrol et:
Özellikle:
-
innodb_buffer_pool_size
-
max_connections
Değerler sunucu RAM’ine göre ayarlanmalı.
8) Governor sürümünü güncelle
Eski sürüm hatalı davranabilir.
Ardından:
systemctl restart mysqld
Alternatif Çözüm (Daha teknik)
Hangi kullanıcı ne kadar limit yemiş görmek için:
veya detaylı inceleme:
Burada throttle edilen kullanıcıyı net görürsün.
CloudLinux Lisansında Tam İzolasyon!
Hosting sunucunuzu Bad Neighbor etkisinden koruyun. LVE Manager ve CageFS özelliklerini sunan %100 güncellenebilir paylaşımlı CloudLinux lisansını ucuza kullanın.