AWS Solutions Architect · Pelajaran

Kapasiti Diperuntukkan berbanding Atas Permintaan

Pilih antara daya pemprosesan diperuntukkan dengan penskalaan automatik dan mod atas permintaan berdasarkan kebolehramalan trafik serta kos.

Pelajaran 2 daripada 413 langkah

Kapasiti Diperuntukkan berbanding Atas Permintaan ialah pelajaran AWS Solutions Architect percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS Solutions Architect, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.

Penerangan Unit Kapasiti DynamoDB

DynamoDB mengukur daya pemprosesan dalam Unit Kapasiti Bacaan (RCU) dan Unit Kapasiti Penulisan (WCU). Satu RCU membolehkan satu bacaan konsisten kuat sesaat (atau dua bacaan konsisten akhirnya) untuk item sehingga 4 KB. Satu WCU membolehkan satu penulisan sesaat untuk item sehingga 1 KB.

Bagi item yang lebih besar, kos meningkat secara berkadar: penulisan 10 KB berharga 10 WCU; bacaan konsisten kuat 10 KB berharga 3 RCU (ceil(10/4) = 3). Memahami unit kapasiti amat penting untuk menganggarkan kos dan mendiagnosis ralat pendikitan ProvisionedThroughputExceededException.

Mod Kapasiti Diperuntukkan

Dalam mod Kapasiti Diperuntukkan, anda menentukan bilangan tepat RCU dan WCU yang patut disokong oleh jadual anda. DynamoDB menempah daya pemprosesan tersebut dan mengenakan bayaran sama ada anda menggunakannya atau tidak. Jika aplikasi anda melebihi kapasiti yang diperuntukkan, permintaan akan dikenakan pendikitan dan mengembalikan ProvisionedThroughputExceededException.

Mod diperuntukkan sesuai untuk beban kerja dengan trafik yang boleh diramal dan stabil. Kos setiap unit lebih rendah berbanding mod Atas Permintaan, dan anda boleh mengurangkan kos lagi dengan membeli Kapasiti Terpelihara DynamoDB (komitmen 1 tahun atau 3 tahun dengan diskaun sehingga 76%).

# Create a table with provisioned capacity
aws dynamodb create-table \
  --table-name Products \
  --attribute-definitions AttributeName=ProductId,AttributeType=S \
  --key-schema AttributeName=ProductId,KeyType=HASH \
  --provisioned-throughput ReadCapacityUnits=100,WriteCapacityUnits=50

Mod Kapasiti Atas Permintaan

Dalam mod Atas Permintaan, DynamoDB diskalakan secara automatik untuk menampung apa-apa tahap trafik tanpa perancangan kapasiti. Anda membayar bagi setiap permintaan: setiap RRU (unit permintaan bacaan) dan setiap WRU (unit permintaan penulisan) yang sebenarnya digunakan. Tiada kapasiti diperuntukkan yang perlu diurus dan tiada pendikitan disebabkan had kapasiti diperuntukkan.

Mod Atas Permintaan sesuai untuk: beban kerja yang tidak boleh diramal atau mempunyai lonjakan mendadak, jadual baharu yang trafiknya belum diketahui, serta persekitaran pembangunan/pengujian dengan capaian yang tidak kerap. Kos bagi setiap permintaan lebih tinggi berbanding mod diperuntukkan, jadi bagi beban kerja stabil dengan daya pemprosesan tinggi, mod diperuntukkan lebih menjimatkan.

# Create a table in on-demand mode
aws dynamodb create-table \
  --table-name Events \
  --attribute-definitions AttributeName=EventId,AttributeType=S \
  --key-schema AttributeName=EventId,KeyType=HASH \
  --billing-mode PAY_PER_REQUEST

Beralih antara Mod Kapasiti

Anda boleh menukar jadual antara mod Diperuntukkan dan Atas Permintaan pada bila-bila masa menggunakan konsol atau CLI. Walau bagaimanapun, anda hanya boleh menukar mod sekali setiap 24 jam. Selepas beralih kepada Atas Permintaan, jadual mengekalkan kapasiti diperuntukkan puncak sebelumnya sebagai tahap daya pemprosesan awalnya, sekali gus melindungi daripada pendikitan serta-merta jika trafik sudah tinggi.

Strategi yang biasa digunakan ialah menggunakan Atas Permintaan semasa pelancaran awal apabila corak trafik belum diketahui, kemudian beralih kepada Diperuntukkan dengan Penskalaan Auto setelah trafik boleh diramal, bagi mengurangkan kos.

# Switch a table to on-demand billing mode
aws dynamodb update-table \
  --table-name Products \
  --billing-mode PAY_PER_REQUEST

Penskalaan Auto DynamoDB untuk Mod Diperuntukkan

Penskalaan Auto DynamoDB melaraskan RCU dan WCU diperuntukkan anda secara automatik sebagai tindak balas kepada trafik sebenar. Anda menentukan peratusan penggunaan sasaran (contohnya 70%) serta julat kapasiti minimum/maksimum. Dasar Penskalaan Auto Aplikasi memantau kapasiti yang digunakan oleh jadual dan melaraskan kapasiti diperuntukkan untuk mengekalkan penggunaan sasaran.

Penskalaan Auto bertindak balas terhadap perubahan trafik yang berterusan dan mungkin mengambil masa beberapa minit untuk meningkatkan skala. Ia tidak mengendalikan lonjakan trafik secara tiba-tiba dengan baik—untuk keadaan tersebut, panaskan kapasiti terlebih dahulu secara manual atau gunakan mod Atas Permintaan.

# Register table as an auto scaling target
aws application-autoscaling register-scalable-target \
  --service-namespace dynamodb \
  --resource-id 'table/Products' \
  --scalable-dimension dynamodb:table:ReadCapacityUnits \
  --min-capacity 10 \
  --max-capacity 1000

Kapasiti Lonjakan

DynamoDB mengekalkan sehingga 5 minit kapasiti diperuntukkan yang tidak digunakan sebagai kapasiti lonjakan. Apabila trafik jadual anda melebihi tahap diperuntukkan buat sementara waktu, DynamoDB menggunakan kumpulan lonjakan untuk melayan permintaan tambahan tanpa pendikitan. Setelah kumpulan lonjakan habis, permintaan berlebihan seterusnya akan dikenakan pendikitan.

Kapasiti lonjakan ialah penampan jangka pendek dan bukan pengganti kepada perancangan kapasiti yang betul. Pantau metrik CloudWatch ConsumedReadCapacityUnits dan ConsumedWriteCapacityUnits untuk mengesan apabila beban kerja anda menggunakan kapasiti lonjakan secara berterusan, kemudian laraskan daya pemprosesan diperuntukkan dengan sewajarnya.

Pendikitan dan Pengendalian Ralat

Apabila kapasiti diperuntukkan telah melebihi had (dan lonjakan telah habis), DynamoDB mengembalikan ProvisionedThroughputExceededException. SDK AWS menyertakan logik percubaan semula terbina dalam dengan pengunduran eksponen dan rawak kecil yang mencuba semula permintaan yang dikenakan pendikitan secara automatik.

Untuk mendiagnosis pendikitan, semak metrik CloudWatch SystemErrors dan ThrottledRequests. Jika kunci partition tertentu dikenakan pendikitan sedangkan penggunaan keseluruhan jadual rendah, anda menghadapi masalah partition panas—reka semula kunci partition, tambahkan kunci pengisihan atau gunakan pemecahan penulisan.

Menganggarkan Keperluan Kapasiti

Untuk menganggarkan kapasiti bagi mod Diperuntukkan:

  • Kira penulisan puncak sesaat × saiz item purata / 1 KB (dibundarkan ke atas) = WCU yang diperlukan
  • Kira bacaan puncak sesaat × saiz item purata / 4 KB (dibundarkan ke atas) = RCU yang diperlukan (konsisten kuat); bahagikan dua untuk konsisten akhirnya
  • Tambahkan lebihan kapasiti 20–30% melebihi puncak untuk menyerap lonjakan sebelum kapasiti lonjakan digunakan

Contoh: 1,000 penulisan/s bagi item 2 KB = 2,000 WCU. 5,000 bacaan/s bagi item 8 KB (konsisten akhirnya) = ceil(8/4) × 5,000 / 2 = 5,000 RCU.

Kapasiti Terpelihara untuk Pengurangan Kos

Kapasiti Terpelihara DynamoDB membolehkan anda membeli bilangan RCU dan WCU yang tetap untuk tempoh 1 tahun atau 3 tahun, dengan bayaran pendahuluan sebagai pertukaran untuk diskaun besar (sehingga 76%) berbanding harga Atas Permintaan. Kapasiti terpelihara digunakan merentasi semua jadual diperuntukkan dalam sesuatu Wilayah dan digunakan secara automatik pada caj setiap jam anda.

Kapasiti Terpelihara hanya terpakai pada mod Diperuntukkan—anda tidak boleh menggunakannya dengan mod Atas Permintaan. Ini ialah pilihan penjimatan kos terbaik untuk beban kerja yang stabil dan boleh diramal, yang boleh anda unjurkan dengan yakin untuk tempoh 1–3 tahun.

Membandingkan Mod: Panduan Keputusan Peperiksaan

Gunakan panduan keputusan ini untuk soalan mod kapasiti SAA-C03:

  • Atas Permintaan: trafik tidak boleh diramal, aplikasi baharu, capaian tidak kerap, beban kerja yang mempunyai lonjakan, atau apabila anda mahukan pengurusan kapasiti sifar
  • Diperuntukkan: trafik yang konsisten dan boleh diramal, mementingkan kos, sanggup mengurus kapasiti, serta layak menerima diskaun Kapasiti Terpelihara
  • Diperuntukkan + Penskalaan Auto: garis dasar yang boleh diramal dengan sedikit variasi, dan mahukan pelarasan automatik tanpa perubahan manual

Dalam peperiksaan, kata kunci seperti 'mempunyai lonjakan', 'tidak boleh diramal' atau 'beban operasi minimum' menandakan Atas Permintaan; 'trafik stabil' atau 'pengoptimuman kos' menandakan Diperuntukkan.

Kapasiti Adaptif

Kapasiti Adaptif DynamoDB mengagihkan semula daya pemprosesan daripada partition sejuk kepada partition panas secara automatik dalam masa nyata. Jika satu kunci partition menerima lebih banyak trafik daripada bahagian yang diperuntukkan kepadanya, kapasiti adaptif meminjam daya pemprosesan daripada partition yang kurang digunakan untuk menampung partition panas tersebut—asalkan jumlah kapasiti jadual tidak melebihi had.

Kapasiti adaptif sentiasa didayakan dan tidak memerlukan konfigurasi. Ia mengurangkan pendikitan partition panas bagi corak capaian yang agak tidak sekata. Untuk beban kerja yang sangat berat sebelah (contohnya, satu kunci partition menerima 90% trafik), kapasiti adaptif tidak mencukupi—anda mesti mereka bentuk semula kunci partition atau menggunakan pemecahan penulisan.

Semakan Pantas

Uji pemahaman anda tentang konsep AWS Solutions Architect (SAA-C03) daripada pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini, anda telah mempelajari bahawa: mod Diperuntukkan menetapkan RCU/WCU tetap untuk beban kerja yang boleh diramal pada kos lebih rendah, mod Atas Permintaan diskalakan secara automatik untuk trafik yang tidak boleh diramal pada harga setiap permintaan yang lebih tinggi, dan Penskalaan Auto melaraskan kapasiti diperuntukkan berdasarkan peratusan penggunaan sasaran. Seterusnya, kita akan meneroka Indeks Sekunder Global dan Indeks Sekunder Tempatan untuk corak pertanyaan alternatif.

Percuma untuk bermula

Pelajari AWS Solutions Architect dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Kapasiti Diperuntukkan berbanding Atas Permintaan” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS Solutions Architect, termasuk “Kapasiti Diperuntukkan berbanding Atas Permintaan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Kapasiti Diperuntukkan berbanding Atas Permintaan”?

Pilih antara daya pemprosesan diperuntukkan dengan penskalaan automatik dan mod atas permintaan berdasarkan kebolehramalan trafik serta kos. Anda berlatih AWS Solutions Architect menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan AWS Solutions Architect?

Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS Solutions Architect di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Kapasiti Diperuntukkan berbanding Atas Permintaan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS Solutions Architect ini?

Ya. Setiap pelajaran AWS Solutions Architect menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Jadual, Item dan Kunci Utama
  2. Kapasiti Diperuntukkan berbanding Atas Permintaan
  3. Indeks Sekunder Global dan Indeks Sekunder Setempat
  4. Strim DynamoDB dan Jadual Global
← Kembali ke AWS Solutions Architect