Tolok ukur performa Pencarian Azure AI
Penting
Tolok ukur ini berlaku untuk layanan pencarian yang dibuat sebelum 3 April 2024 pada penyebaran yang berjalan pada infrastruktur yang lebih lama. Tolok ukur juga 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:
- Pengujian dimulai pada
X
kueri per detik (QPS) selama 180 detik. Biasanya 5 atau 10 QPS. - QPS kemudian meningkat sebesar
X
dan dijalankan selama 180 detik lagi - 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:
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.
Tolok ukur 1: Pencarian e-niaga
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).
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).
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).
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 |
Tolok Ukur 2: Pencarian dokumen
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).
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).
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).
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.