Tolok ukur performa Pencarian Azure AI

Penting

Tolok ukur ini berlaku untuk layanan pencarian yang dibuat sebelum 3 April 2024, dan hanya berlaku untuk beban kerja nonvektor. Pembaruan tertunda untuk layanan dan beban kerja pada batas baru.

Tolok ukur performa berguna untuk memperkirakan potensi performa di bawah konfigurasi serupa. Performa aktual tergantung pada berbagai faktor, termasuk ukuran layanan pencarian Anda dan jenis kueri yang Anda kirim.

Untuk membantu Anda memperkirakan ukuran layanan pencarian yang diperlukan untuk beban kerja Anda, kami menjalankan beberapa tolok ukur untuk mendokumentasikan performa layanan dan konfigurasi pencarian yang berbeda.

Untuk mencakup berbagai kasus penggunaan, kami menjalankan tolok ukur untuk dua skenario utama:

  • Pencarian e-niaga - Tolok ukur ini meniru skenario e-niaga nyata dan didasarkan pada perusahaan e-niaga Nordik CDON.
  • Pencarian dokumen - Skenario ini terdiri dari pencarian kata kunci melalui dokumen teks lengkap dari Semantic Scholar. Pencarian ini meniru solusi pencarian dokumen khusus.

Meskipun skenario ini mencerminkan kasus penggunaan yang berbeda, setiap skenario berbeda sehingga kami selalu merekomendasikan pengujian performa beban kerja individu Anda. Kami telah menerbitkan solusi pengujian performa menggunakan JMeter agar Anda dapat menjalankan pengujian serupa terhadap layanan Anda sendiri.

Metodologi pengujian

Untuk menjadi tolok ukur performa Azure AI Search, kami menjalankan pengujian untuk dua skenario berbeda pada tingkat yang berbeda dan kombinasi replika/partisi.

Untuk membuat tolok ukur ini, metodologi berikut digunakan:

  1. Pengujian dimulai pada X kueri per detik (QPS) selama 180 detik. Biasanya 5 atau 10 QPS.
  2. QPS kemudian meningkat sebesar X dan dijalankan selama 180 detik lagi
  3. Setiap 180 detik, pengujian meningkat sebesar X QPS hingga latensi rata-rata meningkat di atas 1000 md atau kurang dari 99% dari kueri berhasil yang berhasil.

Grafik berikut memberikan contoh visual seperti apa beban kueri pengujian:

Contoh pengujian

Setiap skenario menggunakan setidaknya 10.000 kueri unik agar pengujian tidak condong berlebihan dikarenakan penembolokan.

Penting

Pengujian ini hanya mencakup beban kerja kueri. Jika Anda berharap memiliki volume operasi pengindeksan yang tinggi, pastikan untuk memperhitungkan estimasi dan pengujian performa Anda. Contoh kode untuk mensimulasikan pengindeksan dapat ditemukan dalam tutorial ini.

Definisi

  • QPS Maksimum - angka QPS maksimum didasarkan pada QPS tertinggi yang dicapai dalam pengujian di mana 99% kueri berhasil diselesaikan tanpa pembatasan dan latensi rata-rata tetap di bawah 1000 md.

  • Persentase QPS maks - Persentase QPS maksimum yang dicapai untuk pengujian tertentu. Misalnya, jika pengujian tertentu mencapai maksimum 100 QPS, 20% dari QPS maks adalah 20 QPS.

  • Latensi - Latensi server untuk kueri; angka-angka ini tidak menyertakan penundaan pulang pergi (RTT). Nilai dalam milidetik (md).

Menguji penafian

Kode yang kami gunakan untuk menjalankan tolok ukur ini tersedia di repositori azure-search-performance-testing . Perlu dicatat bahwa kami mengamati tingkat QPS yang sedikit lebih rendah dengan solusi pengujian performa JMeter daripada di tolok ukur. Perbedaan dapat diatributkan ke perbedaan dalam gaya pengujian. Ini berbicara tentang pentingnya membuat pengujian performa sesering mungkin dengan beban kerja produksi Anda.

Penting

Tolok ukur ini sama sekali tidak menjamin tingkat performa tertentu dari layanan Anda, tetapi dapat memberi Anda gambaran tentang performa yang dapat dicapai berdasarkan skenario Anda.

Jika Anda memiliki pertanyaan atau kekhawatiran, hubungi kami di azuresearch_contact@microsoft.com.

Logo CDON

Tolok ukur ini dibuat dalam kemitraan dengan perusahaan e-niaga, CDON, marketplace online terbesar di kawasan Nordik yang beroperasi di Swedia, Finlandia, Norwegia, dan Denmark. Melalui 1.500 pedagang-nya, CDON menyediakan berbagai macam penawaran yang mencakup lebih dari 8 juta produk. Pada tahun 2020, CDON memiliki lebih dari 120 juta pengunjung dan 2 juta pelanggan aktif. Anda dapat mempelajari selengkapnya tentang penggunaan Azure AI Search CDON dalam artikel ini.

Untuk menjalankan pengujian ini, kami menggunakan rekam jepret indeks pencarian produksi CDON dan ribuan kueri unik dari situs web mereka.

Detail skenario

  • Jumlah Dokumen: 6.000.000
  • Ukuran Indeks: 20 GB
  • Skema Indeks: indeks lebar dengan total 250 bidang, 25 bidang yang dapat dicari, dan 200 bidang yang dapat di-faset-kan/dapat difilter
  • Jenis Kueri: kueri pencarian teks lengkap termasuk faset, filter, pemesanan, dan profil penilaian

Performa S1

Kueri per detik

Bagan berikut menunjukkan beban kueri tertinggi yang dapat ditangani layanan untuk jangka waktu yang lama dalam hal kueri per detik (QPS).

e-niaga QPS tertinggi yang dapat dipertahankan s1

Latensi kueri

Latensi kueri bervariasi berdasarkan beban layanan dan layanan di bawah tekanan yang lebih tinggi memiliki latensi kueri rata-rata yang lebih tinggi. Tabel berikut menunjukkan persentil latensi kueri ke-25, 50, 75, 90, 95, dan 99 untuk tiga tingkat penggunaan yang berbeda.

Persentase QPS maks Latensi rata-rata 25% 75% 90% 95% 99%
20% 104 md 35 md 115 md 177 md 257 md 738 md
50% 140 md 47 md 144 md 241 md 400 md 1175 md
80% 239 md 77 md 248 md 466 md 763 md 1752 md

Performa S2

Kueri per detik

Bagan berikut menunjukkan beban kueri tertinggi yang dapat ditangani layanan untuk jangka waktu yang lama dalam hal kueri per detik (QPS).

e-niaga QPS tertinggi yang dapat dipertahankan s2

Latensi kueri

Latensi kueri bervariasi berdasarkan beban layanan dan layanan di bawah tekanan yang lebih tinggi memiliki latensi kueri rata-rata yang lebih tinggi. Tabel berikut menunjukkan persentil latensi kueri ke-25, 50, 75, 90, 95, dan 99 untuk tiga tingkat penggunaan yang berbeda.

Persentase QPS maks Latensi rata-rata 25% 75% 90% 95% 99%
20% 56 mdtk 21 mdtk 68 md 106 mdtk 132 md 210 md
50% 71 md 26 md 83 md 132 md 177 md 329 md
80% 140 md 47 md 153 mdtk 293 md 452 md 924 md

Performa S3

Kueri per detik

Bagan berikut menunjukkan beban kueri tertinggi yang dapat ditangani layanan untuk jangka waktu yang lama dalam hal kueri per detik (QPS).

e-niaga QPS tertinggi yang dapat dipertahankan s3

Dalam hal ini, kita melihat bahwa menambahkan partisi kedua secara signifikan meningkatkan QPS maksimum tetapi menambahkan partisi ketiga memberikan pengembalian marginal yang berkurang. Peningkatan yang lebih kecil kemungkinan karena semua data sudah ditarik ke memori aktif S3 hanya dengan dua partisi.

Latensi kueri

Latensi kueri bervariasi berdasarkan beban layanan dan layanan di bawah tekanan yang lebih tinggi memiliki latensi kueri rata-rata yang lebih tinggi. Tabel berikut menunjukkan persentil latensi kueri ke-25, 50, 75, 90, 95, dan 99 untuk tiga tingkat penggunaan yang berbeda.

Persentase QPS maks Latensi rata-rata 25% 75% 90% 95% 99%
20% 50 md 20 md 64 md 83 md 98 md 160 mdtk
50% 62 md 24 md 80 mdtk 107 md 130 mdtk 253 md
80% 115 md 38 md 121 md 218 md 352 md 828 md

Detail skenario

  • Jumlah Dokumen: 7,5 juta
  • Ukuran Indeks: 22 GB
  • Skema Indeks: 23 bidang; 8 dapat dicari, 10 dapat di-faset-kan/dapat difilter
  • Jenis Kueri: pencarian kata kunci dengan faset dan penyorotan sasaran

Performa S1

Kueri per detik

Bagan berikut menunjukkan beban kueri tertinggi yang dapat ditangani layanan untuk jangka waktu yang lama dalam hal kueri per detik (QPS).

Pencarian dokumen QPS tertinggi yang dapat dipertahankan s1

Latensi kueri

Latensi kueri bervariasi berdasarkan beban layanan dan layanan di bawah tekanan yang lebih tinggi memiliki latensi kueri rata-rata yang lebih tinggi. Tabel berikut menunjukkan persentil latensi kueri ke-25, 50, 75, 90, 95, dan 99 untuk tiga tingkat penggunaan yang berbeda.

Persentase QPS maks Latensi rata-rata 25% 75% 90% 95% 99%
20% 67 md 44 md 77 md 103 md 126 md 216 md
50% 93 md 59 mdtk 110 md 150 md 184 md 304 md
80% 150 md 96 md 184 md 248 md 297 md 424 md

Performa S2

Kueri per detik

Bagan berikut menunjukkan beban kueri tertinggi yang dapat ditangani layanan untuk jangka waktu yang lama dalam hal kueri per detik (QPS).

Pencarian dokumen QPS tertinggi yang dapat dipertahankan s2

Latensi kueri

Latensi kueri bervariasi berdasarkan beban layanan dan layanan di bawah tekanan yang lebih tinggi memiliki latensi kueri rata-rata yang lebih tinggi. Tabel berikut menunjukkan persentil latensi kueri ke-25, 50, 75, 90, 95, dan 99 untuk tiga tingkat penggunaan yang berbeda.

Persentase QPS maks Latensi rata-rata 25% 75% 90% 95% 99%
20% 45 md 31 md 55 mdtk 73 mdtk 84 md 109 md
50% 63 md 39 md 81 md 106 mdtk 123 md 163 md
80% 115 md 73 mdtk 145 md 191 md 224 md 291 md

Performa S3

Kueri per detik

Bagan berikut menunjukkan beban kueri tertinggi yang dapat ditangani layanan untuk jangka waktu yang lama dalam hal kueri per detik (QPS).

Pencarian dokumen QPS tertinggi yang dapat dipertahankan s3

Latensi kueri

Latensi kueri bervariasi berdasarkan beban layanan dan layanan di bawah tekanan yang lebih tinggi memiliki latensi kueri rata-rata yang lebih tinggi. Tabel berikut menunjukkan persentil latensi kueri ke-25, 50, 75, 90, 95, dan 99 untuk tiga tingkat penggunaan yang berbeda.

Persentase QPS maks Latensi rata-rata 25% 75% 90% 95% 99%
20% 43 md 29 md 53 md 74 mdtk 86 md 111 md
50% 65 md 37 md 85 md 111 md 128 md 164 md
80% 126 md 83 md 162 md 205 md 233 md 281 md

Poin-poin penting

Melalui tolok ukur ini, Anda bisa mendapatkan gambaran tentang performa yang ditawarkan Azure AI Search. Anda juga dapat melihat perbedaan antar layanan di berbagai tingkatan.

Kesimpulan penting yang bisa diambil dari tolok ukur ini antara lain:

  • S2 biasanya dapat menangani setidaknya empat kali volume kueri sebagai S1
  • S2 biasanya memiliki latensi yang lebih rendah daripada S1 pada volume kueri yang sebanding
  • Saat Anda menambahkan replika, QPS layanan dapat menangani skala tipikal secara linear (misalnya, jika satu replika dapat menangani 10 QPS, lima replika biasanya dapat menangani 50 QPS)
  • Semakin tinggi beban pada layanan, semakin tinggi latensi rata-rata

Anda juga dapat melihat bahwa performa dapat bervariasi secara drastis antar skenario. Jika Anda tidak mendapatkan performa yang Anda harapkan, lihat tips performa yang lebih baik.

Langkah berikutnya

Setelah melihat tolok ukur performa, Anda dapat mempelajari selengkapnya tentang cara menganalisis performa Azure AI Search dan faktor utama yang memengaruhi performa.