Mengukur Azure Cosmos DB untuk performa NoSQL dengan kerangka kerja tolok ukur

Ada lebih banyak pilihan, sekarang dari sebelumnya, pada jenis database yang akan digunakan dengan beban kerja data Anda. Salah satu faktor utama untuk memilih database adalah performa database atau layanan, tetapi performa tolok ukur dapat rumit dan rawan kesalahan. Kerangka kerja tolok ukur untuk Azure Database menyederhanakan proses pengukuran performa dengan alat tolok ukur sumber terbuka populer dengan resep gesekan rendah yang menerapkan praktik terbaik umum. Di Azure Cosmos DB for NoSQL, kerangka kerja menerapkan praktik terbaik untuk Java SDK dan menggunakan alat YCSB sumber terbuka. Dalam panduan ini, Anda menggunakan kerangka kerja tolok ukur ini untuk mengimplementasikan beban kerja baca untuk membiasakan diri dengan kerangka kerja.

Prasyarat

Membuat sumber daya akun Azure Cosmos DB

Pertama, Anda membuat database dan kontainer di API yang ada untuk akun NoSQL.

  1. Buka API yang ada untuk akun NoSQL di portal Azure.

  2. Di menu sumber daya, pilih Data Explorer.

    Cuplikan layar opsi Data Explorer disorot di menu sumber daya.

  3. Pada halaman Data Explorer, pilih opsi Kontainer Baru di bilah perintah.

    Cuplikan layar opsi Kontainer Baru di bilah perintah Data Explorer.

  4. Dalam dialog Kontainer Baru , buat kontainer baru dengan pengaturan berikut:

    Pengaturan Nilai
    Id database ycsb
    Jenis throughput database Manual
    Jumlah throughput database 400
    Id Kontainer usertable
    Kunci partisi /id

    Cuplikan layar dialog Kontainer Baru di halaman Data Explorer.

Menyebarkan kerangka kerja tolok ukur ke Azure

Sekarang, Anda menggunakan templat Azure Resource Manager untuk menyebarkan kerangka kerja tolok ukur ke Azure dengan resep baca default.

  1. Sebarkan kerangka kerja tolok ukur menggunakan templat Azure Resource Manager yang tersedia di tautan ini.

    Tombol Sebarkan ke Azure.

  2. Pada halaman Penyebaran Kustom, parameter berikut

    Cuplikan layar halaman Penyebaran Kustom dengan nilai parameter terisi.

  3. Pilih Tinjau + buat lalu Buat untuk menyebarkan templat.

  4. Tunggu hingga penerapan selesai.

    Tip

    Penyebaran dapat memakan waktu 5-10 menit untuk diselesaikan.

Melihat hasil tolok ukur

Sekarang, Anda dapat menggunakan akun Azure Storage yang ada untuk memeriksa status pekerjaan tolok ukur dan melihat hasil agregat. Status disimpan menggunakan tabel penyimpanan dan hasilnya dikumpulkan ke dalam blob penyimpanan menggunakan format CSV.

  1. Navigasikan ke akun Azure Storage Anda yang sudah ada di portal Azure.

  2. Navigasi ke tabel penyimpanan bernama ycsbbenchmarkingmetadata dan temukan entitas dengan kunci ycsb_sqlpartisi .

    Cuplikan layar tabel ycsbbenchmarkingMetadata di akun penyimpanan.

  3. Amati JobStatus bidang entitas tabel. Awalnya, status pekerjaan adalah Started dan menyertakan tanda waktu di JobStartTime properti tetapi bukan JobFinishTime properti .

  4. Tunggu hingga pekerjaan memiliki status Finished dan menyertakan tanda waktu di JobFinishTime properti .

    Tip

    Dibutuhkan sekitar 20-30 menit agar pekerjaan selesai.

  5. Navigasikan ke kontainer penyimpanan di akun yang sama dengan awalan ycsbbenchmarking-*. Amati blob output dan diagnostik untuk alat ini.

    Cuplikan layar kontainer dan blob output dari alat tolok ukur.

  6. Buka blob aggregation.csv dan amati kontennya. Anda sekarang harus memiliki himpunan data CSV dengan hasil agregat dari semua klien tolok ukur.

    Cuplikan layar konten blob hasil agregasi.

    Operation,Count,Throughput,Min(microsecond),Max(microsecond),Avg(microsecond),P9S(microsecond),P99(microsecond)
    READ,180000,299,706,448255,1079,1159,2867
    

Resep

Kerangka kerja tolok ukur untuk Azure Database mencakup resep untuk merangkum definisi beban kerja yang diteruskan ke alat tolok ukur yang mendasarinya untuk pengalaman "1 Klik". Definisi beban kerja dirancang berdasarkan praktik terbaik yang diterbitkan oleh tim Azure Cosmos DB dan tim alat tolok ukur. Resep telah diuji dan divalidasi untuk hasil yang konsisten.

Anda dapat mengharapkan untuk melihat latensi berikut untuk semua resep baca dan tulis di repositori GitHub.

  • Latensi baca

    Diagram latensi baca khas yang rata-rata sekitar 1 milidetik hingga 2 milidetik.

  • Latensi tulis

    Diagram latensi tulis khas yang rata-rata sekitar 4 milidetik.

Masalah umum

Bagian ini mencakup kesalahan umum yang mungkin terjadi saat menjalankan alat tolok ukur. Log kesalahan untuk alat ini biasanya tersedia dalam kontainer dalam akun Azure Storage.

Cuplikan layar kontainer dan blob di akun penyimpanan.

  • Jika log tidak tersedia di akun penyimpanan, masalah ini biasanya disebabkan oleh string koneksi penyimpanan yang salah atau hilang. Dalam hal ini, kesalahan ini tercantum dalam file agent.out dalam folder /home/benchmarking komputer virtual klien.

    Error while accessing storage account, exiting from this machine in agent.out on the VM
    
  • Kesalahan ini tercantum dalam file agent.out baik di VM klien maupun akun penyimpanan jika URI titik akhir Azure Cosmos DB salah atau tidak dapat dijangkau.

    Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known 
    
  • Kesalahan ini tercantum dalam file agent.out baik di VM klien maupun akun penyimpanan jika kunci Azure Cosmos DB salah.

    The input authorization token can't serve the request. The wrong key is being used….
    

Langkah berikutnya