Performans ve kaynak optimizasyonu

AWS'de Uygulama Dağıtımı

Dunieski Otano

Amazon Web Services Solutions Architect

Yavaş ve pahalı

  • Trafik zirvelerinde uygulama yavaşlıyor
  • Aynı ay Lambda faturası fırlıyor
  • İnce ayar ile daha hızlı ve daha ucuz

Hem yavaş hem pahalı olan bir fonksiyonu gösteren hız ve maliyet göstergesi, optimizasyona işaret ediyor

AWS'de Uygulama Dağıtımı

Maliyet vs soğuk başlatma için eşzamanlılık


Reserved: sınırla ve koru

  • Bir fonksiyon için eşzamanlılığı sınırlar ve kapasiteyi garanti eder
  • En ucuz kontroldür; soğuk başlatmayı etkilemez

Provisioned: ısınmaya para öde

  • Örnekleri önceden ısıtır; soğuk başlatma olmaz
  • Daha pahalıdır; yalnızca gecikme kritikse kullan
AWS'de Uygulama Dağıtımı

Süre-maliyet eğrisiyle belleği doğru boyutlandırma

Bellek arttıkça süre-maliyet eğrisi: süre çizgisi düşer sonra yataylaşır, toplam maliyet U şekli alır ve en ucuz bellek ayarı vurgulanır

  • Daha fazla bellek = daha fazla CPU = daha kısa süre
  • Maliyet = bellek fiyatı x süre
  • En ucuz nokta çoğu zaman ortada
  • Çeşitli boyutlarda profille, sonra seç
AWS'de Uygulama Dağıtımı

Uygulama düzeyinde önbellekleme

  • Çalıştırma bağlamı içinde işi yeniden kullan
  • Sıcak Lambda çağrılar arasında global değişkenleri korur
  • Yapılandırma, istemciler ve sıcak aramaları önbelleğe al
  • ElastiCache: örnekler arasında paylaşılan önbellek

Lambda yürütme bağlamı önbellekleme: sıcak çağrılarda yeniden kullanılan global istemci nesnesi ve birden çok fonksiyon örneği arasında sıcak veriyi paylaşan ElastiCache kümesi

AWS'de Uygulama Dağıtımı

Uçta CloudFront önbelleği

  • CloudFront: yanıtları uç noktalarda önbelleğe al
  • Tekrarlayan istekleri backend'e gitmeden sun
  • Önbellek anahtarlarına headers, query strings, cookies dahil olabilir
  • Statik ve önbelleğe uygun içerik bedavaya ölçeklenir

CloudFront uç önbellekleme: dünya üzerindeki uç konumlar, backend'e gitmeden yakındaki kullanıcılara önbellekten yanıt sunuyor; önbellek anahtarı yapılandırmasında headers ve query strings görünüyor

AWS'de Uygulama Dağıtımı

Doğru önbellek katmanını seçme

Üst üste üç önbellek katmanı: geniş paylaşılan statik içerik için uçta CloudFront, sıcak nesneler için her örnekte bellek içi önbellek ve sık okuma için paylaşılan ElastiCache veya DAX

  • Uç (CloudFront): statik, geniş paylaşılan içerik
  • Uygulama (bellek içi): örnek başına sıcak nesneler
  • Veri (ElastiCache/DAX): paylaşılan sıcak okumalar
  • Katmanla; her biri farklı bir maliyeti düşürür
AWS'de Uygulama Dağıtımı

Optimizasyonu birleştirme

  • Belleği süre-maliyet eğrisiyle doğru boyutlandır
  • Gecikme önemliyse sağlanan eşzamanlılık ekle
  • Uç, uygulama ve veri katmanlarında önbellekle
  • Ölç, tek bir şeyi değiştir, yine ölç

Optimizasyon özeti: bellek boyutlandırma için süre-maliyet eğrisi, sağlanan eşzamanlılık kararı, üç önbellek katmanı diyagramı ve ölç-değiştir-ölç yineleme döngüsü

AWS'de Uygulama Dağıtımı

Hadi pratik yapalım!

AWS'de Uygulama Dağıtımı

Preparing Video For Download...