Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK:
NoSQL
MongoDB
Cassandra
Gremlin
Meja
Azure Cosmos DB mendukung dua jenis atau penawaran throughput yang disediakan: standar (manual) dan skala otomatis. Kedua jenis throughput cocok untuk beban kerja yang sangat penting yang membutuhkan kinerja tinggi dan berskala besar, serta didukung oleh SLA Azure Cosmos DB yang sama pada throughput, ketersediaan, latensi, dan konsistensi.
Artikel ini menjelaskan cara memilih antara throughput yang disediakan dengan skala standar (manual) dan skala otomatis untuk beban kerja Anda.
Gambaran umum jenis throughput yang tersedia
Sebelum menyelami perbedaan antara standar (manual) dan skala otomatis, penting untuk terlebih dahulu memahami cara kerja throughput yang tersedia di Azure Cosmos DB.
Saat Anda menggunakan throughput yang disediakan, Anda menetapkan throughput yang diukur dalam unit permintaan per detik (RU/s) yang diperlukan untuk beban kerja Anda. Layanan ini provisikan kapasitas yang dibutuhkan untuk mendukung persyaratan throughput. Operasi database terhadap layanan, seperti membaca, menulis, dan kueri mengonsumsi sejumlah unit permintaan (RUs). Pelajari lebih lanjut tentang unit permintaan.
Tabel berikut ini memperlihatkan perbandingan tingkat tinggi antara standar (manual) dan skala otomatis.
Deskripsi | Standar (manual/tangan) | Penyesuaian Otomatis |
---|---|---|
Paling cocok untuk | Beban kerja dengan lalu lintas yang stabil atau dapat diprediksi | Beban kerja dengan lalu lintas variabel atau tidak dapat diprediksi. Lihat kasus penggunaan skala otomatis. |
Cara kerjanya | Anda menyediakan sejumlah T RU/s yang statis dari waktu ke waktu, kecuali jika Anda mengubahnya secara manual. Setiap detik, Anda dapat menggunakan throughput hingga T RU/s. Misalnya, jika Anda menetapkan standar (manual) 400 RU/s, throughput akan tetap di 400 RU/s. |
Anda menetapkan RU/s tertinggi, atau maksimum Tmax yang tidak Anda inginkan untuk melebihi sistem. Sistem secara otomatis menskalakan throughput T sedemikian rupa sehingga0.1* Tmax <= T <= Tmax . Misalnya, jika Anda menetapkan RU/s maksimum skala otomatis sebesar 4000 RU/s, sistem akan menskalakan antara 400 - 4000 RU/s. |
Kapan harus menggunakannya | Anda ingin mengelola kapasitas throughput (RU/s) secara manual dan menskalakan diri Anda sendiri. Anda memiliki penggunaan RU/s yang tersedia secara tinggi dan konsisten. Dari semua jam dalam sebulan, jika Anda menetapkan provisioning RU/s T dan menggunakan jumlah penuh untuk 66% dari jam atau lebih, diperkirakan Anda akan menghemat dengan menggunakan RU/s provisioning standar (manual).Ini didasarkan pada perbandingan antara pengaturan T dalam standar (manual) dan jumlah yang sama Tmax dalam skala otomatis. |
Anda ingin Azure Cosmos DB mengelola kapasitas dan skala throughput (RU/s), berdasarkan penggunaan. Anda memiliki penggunaan RU/s yang bersifat variabel atau sulit diprediksi. Dari semua jam dalam sebulan, jika Anda mengatur maksimum RU/s untuk skala otomatis Tmax dan menggunakan jumlah maksimum Tmax selama 66% jam atau kurang, diperkirakan Anda akan menghemat biaya dengan menggunakan skala otomatis.Ini didasarkan pada perbandingan antara pengaturan autoscale Tmax dan jumlah yang sama T dalam throughput standar (manual). |
Model tagihan | Penagihan dilakukan per jam untuk RU/s yang disediakan, terlepas dari berapa banyak RU yang digunakan. Contoh: Untuk jam 1 dan 2, Anda akan ditagih 400 RU/s untuk kedua jam dengan tarif standar (manual). |
Penagihan dilakukan atas dasar per jam, berdasarkan RU/s tertinggi yang dicapai oleh sistem dalam satu jam. Contoh: Tmax ), karena tidak ada penggunaanAnda akan ditagih sebesar 3500 RU/s dalam jam 1, dan 400 RU/s pada jam 2 dengan tarif throughput yang disediakan secara otomatis. Tarif penyesuaian otomatis per RU/s adalah 1,5 kali tarif standar (manual). |
Apa yang terjadi jika Anda melebihi RU/s yang tersedia | RU/s tetap statis pada apa yang disediakan. Setiap permintaan yang melebihi RU yang disediakan dalam satu detik akan dibatasi, dengan balasan yang merekomendasikan waktu untuk menunggu sebelum mencoba kembali. Anda dapat meningkatkan atau mengurangi RU/s secara manual jika diperlukan. | Sistem akan menskalakan RU/s hingga RU/s maksimum skala otomatis. Setiap permintaan yang mengonsumsi lebih dari batas maksimum RU/s skala otomatis dalam satu detik akan dibatasi laju pengirimannya, dengan respons yang merekomendasikan durasi penundaan sebelum mencoba lagi. |
Memahami pola lalu lintas Anda
Aplikasi baru
Jika Anda membangun aplikasi baru dan belum mengetahui pola lalu lintasnya, Anda mungkin ingin memulai di titik masuk RU/s (atau RU/s minimum) untuk menghindari penyediaan berlebihan di awal. Atau, jika Anda memiliki aplikasi kecil yang tidak memerlukan skala tinggi, Anda mungkin ingin menetapkan batas minimum RU/s untuk mengoptimalkan biaya. Untuk aplikasi kecil dengan lalu lintas yang diharapkan rendah, Anda juga dapat mempertimbangkan mode kapasitas tanpa server.
Baik Anda berencana menggunakan standar (manual) atau skala otomatis, inilah yang harus Anda pertimbangkan:
Jika Anda provisikan RU/s standar (manual) di titik masuk 400 RU/s, Anda tidak akan dapat mengonsumsi di atas 400 RU/s, kecuali jika Anda mengubah throughput secara manual. Anda akan ditagih sebesar 400 RU/s pada tingkat laju throughput standar (manual) yang disediakan, per jam.
Jika Anda memprovisikan throughput skala otomatis dengan RU/dtk maksimum 4000 RU/dtk, sumber daya akan diskalakan antara 400 hingga 4000 RU/dtk. Karena tingkat penagihan throughput skala otomatis per RU/s adalah 1,5x dari tarif standar (manual), selama jam-jam di mana sistem telah menurunkan skala hingga minimum 400 RU/s, tagihan Anda akan lebih tinggi daripada jika Anda menyediakan 400 RU/s secara manual. Namun, dengan skala otomatis, kapan saja, jika lalu lintas aplikasi Anda melonjak, Anda dapat mengonsumsi hingga 4000 RU/s tanpa tindakan pengguna yang diperlukan. Secara umum, Anda harus menimbang manfaat untuk dapat mengonsumsi hingga RU/s maks kapan saja dengan tingkat skala otomatis 1,5x.
Gunakan kalkulator kapasitas Azure Cosmos DB untuk memperkirakan persyaratan throughput Anda.
Aplikasi yang ada
Jika Anda memiliki aplikasi yang sudah ada yang menggunakan throughput yang diatur secara manual (standar), Anda dapat menggunakan metrik Azure Monitor untuk menentukan apakah pola lalu lintas Anda cocok untuk peningkatan otomatis.
Pertama, temukan metrik konsumsi unit permintaan yang dinormalisasi dari database atau kontainer Anda.
Selanjutnya, tentukan bagaimana utilisasi yang dinormalisasi bervariasi dari waktu ke waktu. Temukan penggunaan normal tertinggi untuk setiap jam. Kemudian, hitung rata-rata penggunaan yang dinormalisasi sepanjang jam. Jika Anda melihat bahwa penggunaan rata-rata Anda kurang dari 66%, pertimbangkan untuk mengaktifkan skala otomatis di database atau kontainer Anda. Sebaliknya, jika penggunaan rata-rata lebih besar dari 66%, Anda sebaiknya tetap menggunakan throughput standar (manual) yang tersedia.
Tips
Jika akun Anda dikonfigurasi untuk menggunakan penulisan multiwilayah dan memiliki lebih dari satu wilayah, tarif per 100 RU/s adalah sama untuk manual dan skala otomatis. Ini berarti bahwa mengaktifkan skala otomatis tidak akan menimbulkan biaya tambahan terlepas dari penggunaan. Akibatnya, selalu disarankan untuk menggunakan autoscaling dengan penulisan di beberapa wilayah ketika Anda memiliki lebih dari satu wilayah, untuk memanfaatkan penghematan dari membayar hanya untuk RU/s yang disesuaikan dengan skala aplikasi Anda. Jika Anda memiliki penulisan multi-wilayah dan satu wilayah, gunakan penggunaan rata-rata untuk menentukan apakah skala otomatis akan menghasilkan penghematan biaya.
Contoh
Mari kita lihat dua contoh beban kerja yang berbeda dan analisis apakah mereka cocok untuk throughput manual atau skala otomatis. Untuk mengilustrasikan pendekatan umum, kami akan menganalisis tiga jam riwayat untuk menentukan perbedaan biaya antara menggunakan manual dan skala otomatis. Untuk beban kerja produksi, disarankan untuk menggunakan riwayat 7 hingga 30 hari (atau lebih lama jika tersedia) untuk menetapkan pola penggunaan RU/s.
Catatan
Semua contoh yang ditampilkan dalam dokumen ini didasarkan pada harga untuk akun Azure Cosmos DB yang disebarkan di wilayah non-pemerintah di AS. Harga dan perhitungan bervariasi tergantung pada wilayah yang Anda gunakan, lihat halaman harga Azure Cosmos DB untuk informasi harga terbaru.
Asumsi:
- Misalkan kita saat ini memiliki throughput manual sebesar 30.000 RU/s.
- Wilayah kita dikonfigurasi untuk penulisan di satu wilayah saja. Jika kita memiliki beberapa wilayah, kita akan melipatgandakan biaya per jam dengan jumlah wilayah.
- Gunakan tarif harga publik untuk throughput manual (0,008 USD per 100 RU/s per jam) dan throughput autoscale (0,012 USD per 100 RU/s per jam) di akun penulisan satu wilayah. Lihat halaman harga untuk detailnya.
Contoh 1: Beban kerja variabel (disarankan skala otomatis)
Pertama, kita melihat konsumsi RU yang dinormalisasi. Beban kerja ini memiliki lalu lintas variabel, dengan konsumsi RU yang dinormalisasi berkisar antara 6% hingga 100%. Kadang-kadang ada lonjakan hingga 100% yang sulit diprediksi, tetapi berjam-jam dengan pemanfaatan rendah.
Mari kita bandingkan biaya penyediaan throughput manual 30.000 RU/s, dan pengaturan skala otomatis dengan RU/s maksimum 30.000 (skala antara 3000 - 30.000 RU/s).
Sekarang, mari kita analisis riwayatnya. Misalkan kita memiliki penggunaan yang dijelaskan dalam tabel berikut. Penggunaan rata-rata selama tiga jam ini adalah 39%. Karena konsumsi RU yang dinormalisasi rata-rata kurang dari 66%, kita menghemat dengan menggunakan autoscale.
Perhatikan bahwa di jam 1, ketika ada penggunaan 6%, skala otomatis akan menagih RU/s untuk 10% dari RU/s maks, yang merupakan minimum per jam. Meskipun biaya skala otomatis mungkin lebih tinggi daripada throughput manual pada jam-jam tertentu, selama penggunaan rata-rata kurang dari 66% di semua jam, skala otomatis akan lebih murah secara keseluruhan.
Periode waktu | Pemanfaatan | Ru/s skala otomatis yang ditagihkan | Opsi 1: Manual 30.000 RU/s | Opsi 2: Skala otomatis antara 3000 - 30.000 RU/s |
---|---|---|---|---|
Jam 1 | 6% | 3000 | 30.000 * 0,008 / 100 = $2,40 | 3000 * 0,012 / 100 = $0,36 |
Jam kedua | 100% | 30.000 | 30.000 * 0,008 / 100 = $2,40 | 30.000 * 0,012 / 100 = $3,60 |
Jam 3 | 11% | 3300 | 30.000 * 0,008 / 100 = $2,40 | 3300 * 0,012 / 100 = $0,40 |
Total | $7,20 | $4,36 (penghematan 39%) |
Contoh 2: Beban kerja stabil (direkomendasikan aliran manual)
Beban kerja ini memiliki lalu lintas yang stabil, dengan konsumsi RU yang telah dinormalisasi berkisar antara 72% hingga 100%. Dengan 30.000 RU/s yang tersedia, ini berarti bahwa kita mengonsumsi antara 21.600 hingga 30.000 RU/s.
Mari kita bandingkan biaya penyediaan throughput manual 30.000 RU/s, dan pengaturan skala otomatis dengan RU/s maksimum 30.000 (skala antara 3000 - 30.000 RU/s).
Misalkan kita memiliki riwayat pemanfaatan seperti yang dijelaskan dalam tabel. Penggunaan rata-rata kita selama tiga jam ini adalah 88%. Karena konsumsi RU yang dinormalisasi rata-rata lebih besar dari 66%, kita dapat menghemat dengan menggunakan throughput manual.
Secara umum, jika penggunaan rata-rata di keseluruhan 730 jam dalam satu bulan lebih besar dari 66%, maka kita akan menghemat dengan menggunakan throughput manual.
Periode waktu | Pemanfaatan | Ru/s skala otomatis yang ditagihkan | Opsi 1: Manual 30.000 RU/s | Opsi 2: Skala otomatis antara 3000 - 30.000 RU/s |
---|---|---|---|---|
Jam 1 | 72% | 21.600 | 30.000 * 0,008 / 100 = $2,40 | 21600 * 0,012 / 100 = $2,59 |
Jam kedua | 93% | 28.000 | 30.000 * 0,008 / 100 = $2,40 | 28.000 * 0,012 / 100 = $3,36 |
Jam 3 | 100% | 30.000 | 30.000 * 0,008 / 100 = $2,40 | 30.000 * 0,012 / 100 = $3,60 |
Total | $7,20 | $9,55 |
Tips
Dengan throughput standar (manual), Anda dapat menggunakan metrik penggunaan yang dinormalisasi untuk memperkirakan RU/s aktual yang mungkin Anda gunakan jika beralih ke skala otomatis. Kalikan pemakaian yang dinormalisasi pada satu titik waktu dengan RU/s standar yang saat ini disediakan secara manual. Misalnya, jika Anda telah tersedia 5000 RU/s, dan pemanfaatan yang dinormalisasi adalah 90%, penggunaan RU/s adalah 0,9 * 5000 = 4500 RU/s. Jika Anda melihat bahwa pola lalu lintas Anda bervariasi, tetapi Anda terlebih atau kekurangan kapasitas, Anda mungkin ingin mengaktifkan fitur skala otomatis dan kemudian mengubah pengaturan batas maksimum RU/s dari skala otomatis sesuai.
Cara menghitung penggunaan rata-rata
Tagihan skala otomatis untuk RU/s tertinggi diskalakan menjadi dalam satu jam. Ketika menganalisis konsumsi RU yang dinormalisasi dari waktu ke waktu, penting untuk menggunakan penggunaan tertinggi per jam saat menghitung rata-rata.
Untuk menghitung rata-rata penggunaan tertinggi sepanjang jam:
- Atur Agregasi pada metrik Konsumsi RU yang Dinormalisasi ke Maks.
- Pilih granularitas Waktu hingga 1 jam.
- Navigasi ke opsi Bagan.
- Pilih opsi bagan batang.
- Di bawah Bagikan, pilih opsi Unduh ke Excel. Dari spreadsheet yang dihasilkan, hitung penggunaan rata-rata sepanjang jam.
Mengukur dan memantau penggunaan Anda
Seiring waktu, setelah memilih jenis throughput, Anda harus memantau aplikasi dan melakukan penyesuaian sesuai kebutuhan.
Saat menggunakan autoskalasi, gunakan Azure Monitor untuk melihat RU/s maksimum autoskalasi yang telah disediakan (Throughput Maksimum Autoskalasi) dan RU/s yang sedang diskala oleh sistem (Throughput yang Disediakan).
Contoh berikut menunjukkan variabel atau beban kerja yang tidak dapat diprediksi menggunakan skala otomatis. Perhatikan ketika tidak ada lalu lintas, sistem menskalakan RU hingga minimal 10% dari RU/dtk maksimum, yang dalam hal ini masing-masing adalah 5.000 RU/dtk dan 50.000 RU/dtk.
Memigrasikan throughput standar yang disediakan ke skala otomatis
Pengguna yang ingin memigrasikan sejumlah besar sumber daya dari throughput standar yang disediakan ke skala otomatis dapat menggunakan skrip Azure CLI yang akan memigrasikan setiap sumber daya throughput dalam langganan Azure ke skala otomatis.
Langkah berikutnya
- Gunakan kalkulator RU untuk memperkirakan throughput beban kerja Anda.
- Gunakan Azure Monitor untuk memantau beban kerja Anda yang sudah ada.
- Pelajari cara menyediakan throughput skala otomatis pada Azure Cosmos DB database atau kontainer.
- Tinjau FAQ penyesuaian otomatis.
- Mencoba melakukan perencanaan kapasitas untuk migrasi ke Azure Cosmos DB? Anda dapat menggunakan informasi tentang kluster database Anda yang ada saat ini untuk membuat perencanaan kapasitas.
- Jika Anda hanya mengetahui jumlah vcore dan server di kluster database yang ada, baca tentang memperkirakan unit permintaan menggunakan vCore atau vCPU
- Jika Anda mengetahui rasio permintaan umum untuk beban kerja database Anda saat ini, baca memperkirakan unit permintaan menggunakan perencana kapasitas Azure Cosmos DB