Yatay olarak 50 örneğe ölçeklendik. Darboğaz sadece yer değiştirdi.

Aşama 1: Uygulama darboğazı

  • 5 uygulama sunucusu, %100 CPU
  • Çözüm: 20 sunucuya ölçeklendirme
  • Sonuç: Uygulama CPU %30

Aşama 2: Veritabanı darboğazı

  • Veritabanı: %100 CPU, 5000 bağlantı
  • Çözüm: Bağlantı havuzu, okuma replikaları
  • Sonuç: Veritabanı CPU %60

Aşama 3: Yük dengeleyici darboğazı

  • Tek ALB paket sınırına ulaşıyor
  • Çözüm: DNS round-robin ile çoklu ALB'ler
  • Sonuç: Trafik dağıtıldı

Aşama 4: Mesaj kuyruğu darboğazı

  • RabbitMQ tek düğümü doymuş
  • Çözüm: Kümelenmiş kuyruk, bölümlenmiş konular
  • Sonuç: Mesajlar akıyor

Ders:

Amdahl Yasası: Hızlandırma, sıralı parçalarla sınırlıdır
                                    Sistem verimi = min(
                                    uygulama_kapasitesi,
                                    vt_kapasitesi,
                                    ağ_kapasitesi,
                                    kuyruk_kapasitesi,
                                    harici_api_kapasitesi
                                    )

Ne öğrendik:

  • Ölçeklendirmeden ÖNCE darboğazı belirleyin
  • Tüm yolu yük testine tabi tutun
  • Sadece uygulamaları değil, tüm bileşenleri izleyin
  • Bazen dikey ölçeklendirme daha ucuzdur

Ders: Bir bileşeni ölçeklendirmek, darboğazı bir sonrakine taşır. Uçtan uca kapasite için plan yapın.


← Alınan Derslere Dön