View a markdown version of this page

Mengevaluasi mode kapasitas tabel DynamoDB - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengevaluasi mode kapasitas tabel DynamoDB

Bagian ini memberikan gambaran umum tentang cara memilih mode kapasitas yang sesuai untuk tabel DynamoDB Anda. Setiap mode disesuaikan untuk memenuhi kebutuhan beban kerja yang berbeda dalam hal respons terhadap perubahan throughput, serta cara penagihan penggunaan tersebut. Anda harus menyeimbangkan faktor-faktor ini ketika membuat keputusan Anda.

Mode kapasitas tabel yang tersedia

Saat membuat tabel DynamoDB, Anda harus memilih mode kapasitas sesuai permintaan atau yang disediakan.

Anda dapat mengalihkan tabel dari mode kapasitas yang disediakan ke mode sesuai permintaan hingga empat kali dalam jendela bergulir 24 jam. Anda dapat mengganti tabel dari mode sesuai permintaan ke mode kapasitas yang disediakan kapan saja.

On-demand modus kapasitas

Mode kapasitas sesuai permintaan dirancang untuk menghilangkan kebutuhan untuk merencanakan atau menyediakan kapasitas tabel DynamoDB Anda. Dalam mode ini, tabel Anda akan langsung mengakomodasi permintaan ke tabel Anda tanpa perlu menaikkan atau menurunkan skala sumber daya apa pun (hingga dua kali lipat throughput puncak tabel sebelumnya).

DynamoDB on-demand menawarkan harga bayar per permintaan untuk permintaan baca dan tulis sehingga Anda hanya membayar untuk apa yang Anda gunakan.

Tabel kapasitas yang disediakan

Mode kapasitas yang disediakan adalah model yang lebih tradisional di mana Anda harus menentukan berapa banyak kapasitas yang tersedia tabel untuk permintaan baik secara langsung atau dengan bantuan penskalaan otomatis. Karena kapasitas tertentu disediakan untuk tabel pada waktu tertentu, penagihan didasarkan pada total kapasitas yang disediakan daripada jumlah permintaan yang dikonsumsi. Melebihi kapasitas yang dialokasikan juga dapat menyebabkan tabel menolak permintaan dan mengurangi pengalaman pengguna aplikasi Anda.

Mode kapasitas yang disediakan memerlukan pemantauan konstan untuk menemukan keseimbangan antara tidak kelebihan penyediaan atau kekurangan penyediaan tabel untuk menjaga pelambatan tetap rendah dan biaya tetap disesuaikan.

Kapan harus memilih mode kapasitas sesuai permintaan

Saat mengoptimalkan biaya, mode on-demand adalah pilihan terbaik Anda ketika Anda memiliki beban kerja yang mirip dengan grafik berikut.

Faktor-faktor berikut berkontribusi pada jenis beban kerja ini:

  • Pola lalu lintas yang berkembang dari waktu ke waktu

  • Volume permintaan variabel (dihasilkan dari beban kerja batch)

  • Waktu permintaan yang tidak dapat diprediksi (mengakibatkan lonjakan lalu lintas)

  • Turun ke nol atau di bawah 30% dari puncak selama satu jam tertentu

Grafik untuk beban kerja variabel yang tidak dapat diprediksi dengan lonjakan dan periode aktivitas rendah. Grafik untuk beban kerja variabel yang tidak dapat diprediksi dengan lonjakan dan periode aktivitas rendah.

Untuk beban kerja dengan faktor-faktor di atas, menggunakan penskalaan otomatis untuk mempertahankan kapasitas yang cukup pada tabel untuk merespons lonjakan lalu lintas kemungkinan akan menyebabkan tabel menjadi kelebihan penyediaan dan biaya lebih dari yang diperlukan atau tabel sedang dalam penyediaan dan permintaan dibatasi secara tidak perlu. On-demand mode kapasitas adalah pilihan yang lebih baik karena dapat menangani lalu lintas yang berfluktuasi tanpa mengharuskan Anda untuk memprediksi atau menyesuaikan kapasitas.

Dengan model penetapan harga pay-per-request mode on-demand, Anda tidak perlu khawatir tentang kapasitas idle karena Anda hanya membayar throughput yang sebenarnya Anda gunakan. Anda ditagih per permintaan baca atau tulis yang dikonsumsi, sehingga biaya Anda secara langsung mencerminkan penggunaan aktual Anda, sehingga memudahkan untuk menyeimbangkan biaya dan kinerja. Secara opsional, Anda juga dapat mengonfigurasi throughput baca atau tulis maksimum (atau keduanya) per detik untuk masing-masing tabel sesuai permintaan dan indeks sekunder global untuk membantu menjaga biaya dan penggunaan tetap terbatas. Untuk informasi selengkapnya, lihat throughput maksimum untuk tabel sesuai permintaan.

Kapan harus mode kapasitas yang disediakan

Beban kerja yang ideal untuk mode kapasitas yang disediakan adalah dengan pola penggunaan yang lebih stabil dan dapat diprediksi seperti grafik di bawah ini.

catatan

Sebaiknya tinjau metrik pada periode yang tepat, seperti 14 hari, sebelum mengambil tindakan terhadap kapasitas yang disediakan.

Faktor-faktor berikut berkontribusi pada jenis beban kerja ini:

  • Lalu lintas yang stabil, dapat diprediksi, dan siklis untuk jam atau hari tertentu

  • Semburan lalu lintas jangka pendek terbatas

Grafik yang menggambarkan beban kerja siklus yang dapat diprediksi dengan lonjakan lalu lintas terbatas.

Karena volume lalu lintas dalam jam atau hari tertentu lebih stabil, Anda dapat mengatur kapasitas tabel yang disediakan relatif dekat dengan kapasitas tabel yang dikonsumsi aktual. Pengoptimalan biaya pada kapasitas tabel yang disediakan pada akhirnya merupakan upaya untuk membuat kapasitas yang disediakan (garis biru) sedekat mungkin dengan kapasitas yang digunakan (garis oranye) tanpa meningkatkan ThrottledRequests pada tabel. Jarak antara kedua garis tersebut merupakan kapasitas yang terbuang serta jaminan terhadap pengalaman pengguna yang buruk akibat throttling. Jika Anda dapat memprediksi persyaratan throughput aplikasi Anda dan Anda lebih memilih prediktabilitas biaya untuk mengontrol kapasitas baca dan tulis, maka Anda mungkin ingin terus menggunakan tabel yang disediakan.

DynamoDB menyediakan penskalaan otomatis untuk kapasitas tabel yang disediakan yang akan menyeimbangkan kapasitas tersebut secara otomatis atas nama Anda. Ini memungkinkan Anda memantau kapasitas yang digunakan sepanjang hari dan mengatur kapasitas tabel berdasarkan beberapa variabel. Saat menggunakan penskalaan otomatis, tabel Anda akan disediakan secara berlebihan dan Anda perlu menyempurnakan rasio antara jumlah throttle versus unit kapasitas yang disediakan berlebihan agar sesuai dengan kebutuhan beban kerja Anda.

Konsol DynamoDB. Kapasitas yang disediakan dan penskalaan otomatis diaktifkan. Target pemanfaatan ditetapkan ke 70.
Unit kapasitas minimum

Anda dapat mengatur kapasitas tabel minimum untuk membatasi throttling, tetapi tindakan ini tidak akan mengurangi biaya tabel. Jika tabel Anda memiliki periode penggunaan rendah yang diikuti dengan lonjakan penggunaan tinggi secara tiba-tiba, mengatur ke kapasitas minimum dapat mencegah penskalaan otomatis mengatur kapasitas tabel terlalu rendah.

Unit kapasitas maksimum

Anda dapat mengatur kapasitas tabel maksimum untuk membatasi penskalaan tabel yang lebih tinggi dari yang dimaksudkan. Pertimbangkan untuk menerapkan jumlah maksimum untuk tabel Pengembgangan atau Pengujian dengan pengujian beban skala besar tidak diinginkan. Anda dapat menetapkan maksimum untuk tabel apa pun, tetapi pastikan untuk mengevaluasi pengaturan ini secara berkala terhadap garis dasar tabel saat menggunakannya dalam Produksi untuk mencegah throttling yang tidak disengaja.

Pemanfaatan target

Menetapkan pemanfaatan target pada tabel adalah cara utama pengoptimalan biaya untuk kapasitas tabel yang disediakan. Menetapkan nilai persentase yang lebih rendah di sini akan meningkatkan jumlah tabel yang disediakan secara berlebihan, sehingga meningkatkan biaya, tetapi mengurangi risiko throttling. Menetapkan nilai persentase yang lebih tinggi akan mengurangi jumlah tabel yang disediakan secara berlebihan, tetapi meningkatkan risiko throttling.

Faktor lain yang perlu dipertimbangkan saat memilih mode kapasitas tabel

Saat memutuskan antara dua mode, ada beberapa faktor lain yang perlu dipertimbangkan.

Pemanfaatan kapasitas yang disediakan

Untuk menentukan kapan biaya mode sesuai permintaan akan lebih murah daripada kapasitas yang disediakan, ada baiknya melihat pemanfaatan kapasitas yang disediakan, yang mengacu pada seberapa efisien sumber daya yang dialokasikan (atau “disediakan) digunakan. On-demand biaya mode lebih murah untuk beban kerja dengan pemanfaatan kapasitas yang disediakan rata-rata di bawah 35%. Dalam banyak kasus, bahkan untuk beban kerja dengan pemanfaatan kapasitas yang disediakan lebih dari 35%, dapat lebih hemat biaya untuk menggunakan mode on-demand terutama jika beban kerja memiliki periode aktivitas rendah yang dicampur dengan puncak sesekali.

Kapasitas terpesan

Untuk tabel kapasitas yang disediakan, DynamoDB menawarkan kemampuan untuk membeli kapasitas cadangan untuk kapasitas baca dan tulis Anda (unit kapasitas tulis yang direplikasi (RWCU) dan Standard-IA tabel saat ini tidak memenuhi syarat). Kapasitas cadangan menawarkan diskon signifikan dibandingkan harga kapasitas standar yang disediakan.

Saat memutuskan antara dua mode tabel, pertimbangkan seberapa besar pengaruh diskon tambahan ini terhadap biaya tabel. Dalam beberapa kasus, mungkin biaya yang lebih murah untuk menjalankan beban kerja yang relatif tidak terduga dapat lebih murah untuk dijalankan pada tabel kapasitas yang disediakan secara berlebihan dengan kapasitas cadangan.

Meningkatkan prediktabilitas beban kerja Anda

Dalam beberapa situasi, beban kerja tampaknya memiliki pola yang dapat diprediksi dan tidak dapat diprediksi. Meskipun ini dapat dengan mudah didukung dengan tabel sesuai permintaan, biaya kemungkinan akan lebih terjangkau jika pola beban kerja yang tidak dapat diprediksi dapat ditingkatkan.

Salah satu penyebab paling umum dari pola ini adalah impor batch. Jenis lalu lintas ini sering kali dapat melebihi kapasitas dasar tabel sedemikian rupa sehingga throttling akan terjadi jika tabel tersebut dijalankan. Agar beban kerja seperti ini tetap berjalan pada kapasitas tabel yang disediakan, pertimbangkan opsi berikut:

  • Jika batch terjadi pada waktu yang dijadwalkan, Anda dapat menjadwalkan peningkatan kapasitas penskalaan otomatis sebelum batch dijalankan

  • Jika batch terjadi secara acak, pertimbangkan untuk memperpanjang waktu berjalan daripada mengeksekusi secepat mungkin

  • Tambahkan periode peningkatan ke impor di mana kecepatan impor dimulai dari kecil tetapi perlahan-lahan meningkat selama beberapa menit sampai penskalaan otomatis memiliki kesempatan untuk mulai menyesuaikan kapasitas tabel