Cara memilih antara throughput yang tersedia secara standar (manual) dan secara skala otomatis
BERLAKU UNTUK: NoSQL MongoDB Cassandra Gremlin Meja
Azure Cosmos DB mendukung dua jenis atau penawaran throughput yang tersedia: standar (manual) dan skala otomatis. Kedua jenis throughput cocok untuk beban kerja misi-kritis yang membutuhkan kinerja dan skala tinggi, dan didukung oleh SLA Azure Cosmos DB yang sama pada throughput, ketersediaan, latensi, dan konsistensi.
Artikel ini menjelaskan cara memilih antara throughput yang tersedia dari 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 tersedia, 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 selengkapnya tentang unit permintaan.
Tabel berikut ini memperlihatkan perbandingan tingkat tinggi antara standar (manual) dan skala otomatis.
Deskripsi | Standar (manual) | Skala 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 hingga throughput 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 RU/s yang tersedia T dan menggunakan jumlah penuh untuk 66% dari jam atau lebih, diperkirakan Anda akan menyimpan dengan RU/s standar (manual) yang tersedia.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 RU/s maksimum skala otomatis Tmax dan menggunakan jumlah penuh Tmax untuk 66% dari jam atau kurang, Anda diperkirakan akan melakukan penghematan dengan skala otomatis.Ini didasarkan pada perbandingan antara pengaturan skala otomatis dan Tmax 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 per jam, untuk RU/s tertinggi sistem yang diskalakan 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 tersedia secara otomatis. Tingkat skala otomatis per RU/s adalah 1,5 * tarif standar (manual). |
Apa yang terjadi jika Anda melebihi RU/s yang tersedia | RU/s tetap statis pada apa yang tersedia. Setiap permintaan yang dikonsumsi di luar RUs yang disediakan dalam detik akan dibatasi berdasarkan tarif, dengan respons 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 di luar RU/s maksimum skala otomatis dalam detik akan dibatasi berdasarkan tarif, dengan respons yang merekomendasikan waktu untuk menunggu sebelum mencoba kembali. |
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 menyediakan RU/s titik masuk minimum 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 throughput standar (manual), 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 menggunakan throughput standar (manual), Anda dapat menggunakan metrik Azure Monitor untuk menentukan apakah pola lalu lintas Anda cocok untuk skala otomatis.
Pertama, temukan metrik konsumsi unit permintaan yang dinormalisasi dari database atau kontainer Anda.
Selanjutnya, tentukan cara penggunaan 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.
Tip
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 skala otomatis dengan penulisan multi-wilayah ketika Anda memiliki lebih dari satu wilayah, untuk memanfaatkan penghematan dari membayar hanya untuk RU/s timbangan 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 dengan penulisan satu wilayah, dengan satu wilayah. 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 penggunaan rendah.
Mari kita bandingkan biaya penyediaan 30.000 throughput manual RU/s, dibanding pengaturan RU/s maks skala otomatis menjadi 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 hingga kurang dari 66%, kita menghemat dengan menggunakan skala otomatis.
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 2 | 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 tetap (direkomendasikan throughput manual)
Beban kerja ini memiliki lalu lintas yang stabil, dengan konsumsi RU 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 30.000 throughput manual RU/s, dibanding pengaturan RU/s maks skala otomatis menjadi 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 hingga lebih besar dari 66%, kita 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 2 | 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 |
Tip
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 penggunaan yang dinormalisasi pada titik waktu dengan RU/s standar yang saat ini disediakan. 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 sudah melebihi atau di bawah yang disediakan, Anda mungkin ingin mengaktifkan skala otomatis lalu mengubah pengaturan RU/s maks skala otomatis yang 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 skala otomatis, gunakan Azure Monitor untuk melihat RU/s maks otomatis yang disediakan (Throughput Maks Skala Otomatis)dan RU/s sistem saat ini diskalakan menjadi (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. Untuk detail selengkapnya, lihat Mengonversi 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 memprovisikan throughput skala otomatis pada database atau kontainer Azure Cosmos DB.
- Tinjau FAQ skala 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