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 lebih lanjut 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 tersedia, terlepas dari jumlah RUs yang dikonsumsi.

Contoh:
  • Ketentuan 400 RU/s
  • Jam 1: tidak ada permintaan
  • Jam 2: Permintaan senilai 400 RU/s


  • 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:
  • Provisikan auto skala maksimum RU/s 4000 RU/s (skala antara 400 - 4000 RU/s)
  • Jam 1: sistem diskalakan hingga nilai tertinggi 3500 RU/s
  • Jam 2: sistem diturunkan skalanya hingga minimum 400 RU/s (selalu 10% dari Tmax), karena tidak ada penggunaan


  • Anda 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. Penggunaan yang dinormalisasi adalah ukuran porsi Anda saat ini menggunakan throughput standar (manual) yang disediakan. Semakin dekat angkanya ke 100%, semakin banyak Anda sepenuhnya menggunakan RU/s yang disediakan. Pelajari lebih lanjut tentang metrik tersebut.

    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.

    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.

    Beban kerja dengan lalu lintas variabel - konsumsi RU yang dinormalisasi antara 6% dan 100% untuk semua jam

    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 Penggunaan 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%)

    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.

    Beban kerja dengan lalu lintas stabil - konsumsi RU yang dinormalisasi antara 72% dan 100% untuk semua jam

    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 Penggunaan 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:

    1. Atur Agregasi pada metrik Konsumsi RU Dinormalisasi ke Maks.
    2. Pilih granularitas Waktu hingga 1 jam.
    3. Navigasi ke opsi Bagan.
    4. Pilih opsi bagan batang.
    5. Di bawah Bagikan, pilih opsi Unduh ke Excel. Dari spreadsheet yang dihasilkan, hitung penggunaan rata-rata sepanjang jam.

    Untuk melihat konsumsi RU yang dinormalisasi menurut jam, 1) Pilih granularitas waktu hingga 1 jam; 2) Edit pengaturan bagan; 3) Pilih opsi bagan batang; 4) Di bawah Bagikan, pilih opsi Unduh ke Excel untuk menghitung 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). Di bawah ini adalah contoh beban kerja variabel atau tidak dapat diprediksi menggunakan skala otomatis. Perhatikan ketika tidak ada lalu lintas, sistem menskalakan RU/s hingga minimum 10% dari RU/s maks, yang dalam hal ini adalah masing-masing 5000 RU/s dan 50.000 RU/s.

    Contoh beban kerja menggunakan skala otomatis, dengan RU/s maks skala otomatis sebesar 50.000 RU/s dan throughput berkisar antara 5000 - 50.000 RU/s

    Catatan

    Saat Anda menggunakan throughput standar (manual) yang disediakan, metrik Throughput yang Disediakan mengacu pada apa yang telah Anda tetapkan sebagai pengguna. Ketika Anda menggunakan throughput skala otomatis, metrik ini mengacu pada RU/s yang saat ini diskalakan utnuk sistem.

    Langkah berikutnya