Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Evaluasi mode kapasitas tabel DynamoDB Anda
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.
Topik
Mode kapasitas tabel yang tersedia
Saat membuat tabel DynamoDB, Anda harus memilih mode kapasitas sesuai permintaan atau yang disediakan. Anda dapat beralih di antara mode kapasitas baca/tulis satu kali setiap 24 jam. Satu-satunya pengecualian untuk ini adalah jika Anda mengalihkan tabel mode yang disediakan ke mode sesuai permintaan: Anda dapat beralih kembali ke mode yang disediakan dalam periode 24 jam yang sama.
Mode kapasitas sesuai permintaan
Mode kapasitas sesuai permintaan didesain untuk menghilangkan kebutuhan 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).
Tabel sesuai permintaan ditagih dengan menghitung jumlah permintaan sebenarnya terhadap tabel tersebut, sehingga Anda hanya akan membayar untuk yang Anda gunakan, bukan yang telah disediakan.
Tabel kapasitas yang disediakan
Mode kapasitas yang disediakan adalah model yang lebih tradisional di mana Anda dapat menentukan berapa banyak kapasitas tabel yang tersedia untuk permintaan baik secara langsung atau dengan bantuan penskalaan otomatis. Karena kapasitas tertentu disediakan untuk tabel pada waktu tertentu, penagihan didasarkan pada kapasitas yang disediakan, bukan jumlah permintaan. Melebihi kapasitas yang dialokasikan juga dapat menyebabkan tabel menolak permintaan dan mengurangi pengalaman pengguna aplikasi Anda.
Mode kapasitas yang disediakan memerlukan keseimbangan antara tidak menyediakan tabel secara berlebihan atau kurang untuk menjaga throttling tetap rendah dan biaya disesuaikan.
Kapan harus memilih mode kapasitas sesuai permintaan
Saat mengoptimalkan biaya, mode sesuai permintaan adalah pilihan terbaik ketika Anda memiliki beban kerja yang mirip dengan grafik berikut.
Faktor-faktor berikut berkontribusi pada jenis beban kerja ini:
-
Waktu permintaan yang tidak dapat diprediksi (mengakibatkan lonjakan lalu lintas)
-
Volume permintaan variabel (dihasilkan dari beban kerja batch)
-
Turun ke nol atau di bawah 18% dari puncak pada jam tertentu (akibat dari lingkungan pengembangan atau pengujian)
Untuk beban kerja dengan faktor-faktor di atas, menggunakan penskalaan otomatis untuk mempertahankan kapasitas yang cukup di atas meja untuk merespons lonjakan lalu lintas kemungkinan akan menyebabkan tabel dilebih-lebihkan dan biaya lebih dari yang diperlukan atau tabel sedang disediakan dan permintaan dibatasi secara tidak perlu.
Karena tabel sesuai permintaan ditagih pay-per-request untuk permintaan baca dan tulis, Anda hanya membayar untuk apa yang Anda gunakan, sehingga mudah untuk menyeimbangkan biaya dan kinerja. Secara opsional, Anda juga dapat mengonfigurasi throughput baca atau tulis maksimum (atau keduanya) per detik untuk tabel sesuai permintaan individu dan indeks sekunder global untuk membantu menjaga biaya dan penggunaan tetap terbatas. Untuk informasi selengkapnya, lihat DynamoDB throughput maksimum untuk tabel sesuai permintaan. Tabel sesuai permintaan harus dievaluasi secara berkala untuk memverifikasi apakah beban kerja masih memiliki faktor-faktor di atas. Jika beban kerja telah stabil, pertimbangkan untuk mengubah ke mode yang disediakan untuk lebih mengoptimalkan biaya.
Kapan harus mode kapasitas yang disediakan
Beban kerja yang ideal untuk mode kapasitas yang disediakan adalah beban kerja dengan pola penggunaan yang lebih dapat diprediksi seperti grafik di bawah ini.
catatan
Sebaiknya tinjau metrik pada periode yang berbutir halus, seperti 14 hari atau 24 jam, sebelum mengambil tindakan atas kapasitas yang Anda berikan.
Faktor-faktor berikut berkontribusi pada jenis beban kerja ini:
-
Lalu lintas yang dapat diprediksi/bersiklus untuk jam atau hari tertentu
-
Lonjakan lalu lintas jangka pendek terbatas
Karena volume lalu lintas pada jam atau hari tertentu lebih stabil, kita dapat mengatur kapasitas tabel yang disediakan relatif dekat dengan kapasitas tabel yang digunakan sebenarnya. 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.
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.
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.
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 tabel IA standar saat ini tidak memenuhi syarat). Jika memilih membeli reservasi untuk kapasitas ini, Anda dapat mengurangi biaya tabel hingga persentase yang signifikan.
Saat memutuskan antara dua mode tabel, pertimbangkan seberapa besar pengaruh diskon tambahan ini terhadap biaya tabel. Dalam banyak kasus, beban kerja yang relatif tidak dapat diprediksi bisa lebih murah jika dijalankan pada kapasitas tabel yang disediakan secara berlebihan dengan kapasitas terpesan.
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 kenaikan ke impor di mana kecepatan impor mulai kecil tetapi perlahan-lahan meningkat selama beberapa menit sampai penskalaan otomatis memiliki kesempatan untuk mulai menyesuaikan kapasitas tabel