Optimasi kinerja dan sumber daya

Mendeploy Aplikasi di AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Lambat dan mahal

  • Aplikasi terasa lambat saat lonjakan trafik
  • Tagihan Lambda melonjak di bulan yang sama
  • Penyetelan membuatnya lebih cepat dan hemat

Pengukur kecepatan-biaya menunjukkan fungsi yang lambat dan mahal, mengarah ke optimasi

Mendeploy Aplikasi di AWS

Konkruensi untuk biaya vs cold start


Reserved: batasi dan lindungi

  • Membatasi dan menjamin kapasitas untuk sebuah fungsi
  • Kontrol termurah, tetapi tidak mengatasi cold start

Provisioned: bayar untuk tetap hangat

  • Menjaga instance tetap hangat, jadi tidak ada cold start
  • Lebih mahal; gunakan hanya saat latensi benar-benar penting
Mendeploy Aplikasi di AWS

Menentukan memori lewat kurva durasi-biaya

Kurva durasi-biaya saat memori naik: garis durasi turun lalu mendatar, total biaya berbentuk U dengan setelan memori termurah disorot

  • Lebih banyak memori = lebih banyak CPU = durasi lebih singkat
  • Biaya = harga memori x durasi
  • Titik termurah sering di tengah
  • Profil di beberapa ukuran, lalu pilih
Mendeploy Aplikasi di AWS

Caching tingkat aplikasi

  • Gunakan ulang pekerjaan dalam execution context
  • Lambda hangat menyimpan global antar pemanggilan
  • Cache konfigurasi, klien, dan lookup yang sering
  • ElastiCache untuk cache bersama lintas instance

Caching konteks eksekusi Lambda: objek klien global dipakai ulang di pemanggilan hangat, dan kluster ElastiCache berbagi data panas di banyak instance fungsi

Mendeploy Aplikasi di AWS

Caching CloudFront di edge

  • CloudFront: cache respons di lokasi edge
  • Layani permintaan berulang tanpa ke backend
  • Kunci cache bisa mencakup header, query string, cookie
  • Konten statis dan dapat di-cache menskalakan gratis

CloudFront edge caching: globe dengan lokasi edge melayani respons cache ke pengguna dekat tanpa ke backend, dengan konfigurasi kunci cache menampilkan header dan query string

Mendeploy Aplikasi di AWS

Memilih lapisan cache yang tepat

Tiga lapis cache bertumpuk: CloudFront di edge untuk konten statis yang banyak dibagi, cache dalam memori per instance untuk objek panas, dan ElastiCache atau DAX untuk baca frekuensi tinggi bersama

  • Edge (CloudFront): konten statis, banyak dibagi
  • Aplikasi (in-memory): objek panas per instance
  • Data (ElastiCache/DAX): baca panas bersama
  • Lapiskan; tiap lapis memangkas biaya berbeda
Mendeploy Aplikasi di AWS

Menggabungkan optimasi

  • Tentukan memori lewat kurva durasi-biaya
  • Tambahkan provisioned concurrency hanya saat latensi penting
  • Cache di lapisan edge, aplikasi, dan data
  • Ukur, ubah satu hal, ukur lagi

Ringkasan optimasi: kurva durasi-biaya untuk penentuan memori, keputusan provisioned concurrency, diagram tiga lapisan cache, dan siklus iterasi ukur-ubah-ukur

Mendeploy Aplikasi di AWS

Ayo berlatih!

Mendeploy Aplikasi di AWS

Preparing Video For Download...