Skip to main content

Sorunun Belirtileri

Veritabanı bağlantı sorunları genellikle aşağıdaki belirtilerle kendini gösterir:
  • API isteklerinde zaman aşımı hataları
  • Connection refused veya Connection timeout hataları
  • Veritabanı sorgularının başarısız olması
  • Yüksek sayıda connection pool hatası
  • Pod’ların veritabanına bağlanamaması

Sorunun Nedenleri

Veritabanı bağlantı sorunları genellikle şu faktörlerden kaynaklanabilir:
  • Ağ Bağlantısı Sorunları: Pod’ların veritabanına erişememesi
  • Connection Pool Tükenmesi: Maksimum connection sayısına ulaşılması
  • Veritabanı Sunucu Sorunları: Veritabanı sunucusunun yanıt vermemesi
  • Yanlış Bağlantı Ayarları: Hatalı host, port veya credentials
  • Firewall Kuralları: Ağ güvenlik kurallarının bağlantıyı engellemesi
  • DNS Çözümleme Sorunları: Veritabanı host adının çözülememesi

Tespit Yöntemleri

1. Log Analizi

1

Log Dosyalarını Kontrol Et

Veritabanı bağlantı hatalarını log dosyalarında arayın:

2. Bağlantı Testi

1

Pod'a Bağlan

Pod içinden veritabanı bağlantısını test edin:

3. Connection Pool Metrikleri

Connection pool metriklerini izleyin:
  • Aktif connection sayısı
  • Bekleyen connection sayısı
  • Connection timeout sayısı
  • Connection pool kullanım yüzdesi

Çözüm Önerileri

1. Bağlantı Ayarlarını Kontrol Etme

Veritabanı bağlantı ayarlarını kontrol edin:
  • Host: Veritabanı sunucu adresi doğru mu?
  • Port: Port numarası doğru mu?
  • Database Name: Veritabanı adı doğru mu?
  • Username/Password: Kimlik bilgileri doğru mu?
  • Connection String: Connection string formatı doğru mu?

2. Connection Pool Ayarlarını Optimize Etme

Connection pool ayarlarını optimize edin:
Öneriler:
  • maximum-pool-size: Maksimum connection sayısını ayarlayın
  • minimum-idle: Minimum idle connection sayısını belirleyin
  • connection-timeout: Bağlantı timeout süresini ayarlayın
  • idle-timeout: Idle connection’ların kapatılma süresini belirleyin

3. Ağ Bağlantısını Kontrol Etme

Ağ bağlantısını kontrol edin:

4. Veritabanı Sunucu Durumunu Kontrol Etme

Veritabanı sunucu durumunu kontrol edin:
  • Veritabanı sunucusu çalışıyor mu?
  • Yeterli kaynak (CPU, RAM) var mı?
  • Maksimum connection limit’ine ulaşılmış mı?
  • Veritabanı log’larında hata var mı?

5. Firewall Kurallarını Kontrol Etme

Firewall kurallarını kontrol edin:
  • Pod’ların veritabanı port’una erişimi var mı?
  • Network policy’ler bağlantıyı engelliyor mu?
  • Security group kuralları doğru mu?

6. DNS Çözümleme Sorunlarını Çözme

DNS çözümleme sorunlarını çözün:
  • CoreDNS pod’ları çalışıyor mu?
  • DNS ayarları doğru mu?
  • Service discovery düzgün çalışıyor mu?

Önleyici Tedbirler

1. Connection Pool Monitoring

  • Connection pool metriklerini düzenli izleyin
  • Alert’ler kurarak erken uyarı alın
  • Connection pool kullanımını optimize edin

2. Health Check’ler

  • Veritabanı health check’lerini yapılandırın
  • Liveness ve readiness probe’ları ayarlayın
  • Otomatik failover mekanizmaları kurun

3. Connection Retry Mekanizması

  • Connection retry mekanizması ekleyin
  • Exponential backoff kullanın
  • Maksimum retry sayısını belirleyin

İlgili Kaynaklar