Plug-in analytic-search adalah alat log query yang dikembangkan oleh tim Elasticsearch Alibaba Cloud. Alat ini mendukung indeks.sort pada bidang waktu untuk mempercepat kueri berdasarkan kondisi pencarian tertentu di halaman Discover pada Konsol Kibana dari kluster Elasticsearch. Plug-in ini juga menyediakan fitur kueri konkuren, membantu mengurangi waktu yang diperlukan untuk menanyakan data secara signifikan. Topik ini menjelaskan cara menggunakan plug-in analytic-search.
Informasi latar belakang
Berikut ini adalah deskripsi fitur yang didukung oleh plug-in analytic-search, skenario penggunaannya, serta informasi terkait pengujian kinerja yang telah dilakukan.
Fitur akselerasi untuk kueri yang dilakukan di halaman Discover konsol Kibana
- Skema Penggunaan: Fitur ini cocok untuk skenario log query. Sebagai contoh, Anda dapat menggunakan plug-in analytic-search untuk mempercepat kueri tanpa syarat dan kueri dengan satu kondisi di halaman Discover Konsol Kibana.
- Manfaat: Kebijakan penggabungan indeks dan kebijakan agregasi histogram tanggal dioptimalkan, meningkatkan kinerja kueri tanpa syarat dan kueri dengan satu kondisi dalam skenario log query. Dalam skenario di mana lebih dari 1 TB data ditambahkan setiap hari, waktu yang diperlukan untuk menyelesaikan kueri berkurang dari beberapa menit menjadi 5 detik atau kurang.
- Pengujian Kinerja:
- Lingkungan Pengujian
- Node: 10 node, masing-masing menawarkan 16 vCPU dan 64 GiB memori.
- Dataset: Data log bisnis sebanyak 60 miliar dokumen per hari. Data disimpan dalam 12 indeks, masing-masing dikonfigurasikan dengan 60 shard.
- Tabel berikut menunjukkan persentase penurunan waktu yang diperlukan untuk menanyakan data dari media penyimpanan yang berbeda setelah fitur akselerasi diaktifkan untuk kueri di halaman Discover Konsol Kibana.
Jenis kueri SSD Standar Ultra disk OpenStore Kueri tanpa syarat Berkurang sebesar 96% Berkurang sebesar 95% Berkurang sebesar 94% Kueri dengan satu kondisi Berkurang sebesar 88% Berkurang sebesar 77% Berkurang sebesar 85% Kueri dengan banyak kondisi Berkurang sebesar 8% Berkurang sebesar 11% Berkurang sebesar 14%
- Lingkungan Pengujian
Fitur kueri konkuren
- Skema Penggunaan: Fitur ini cocok untuk skenario di mana permintaan per detik (QPS) rendah, waktu yang panjang diperlukan untuk mengembalikan hasil kueri, dan sumber daya komputasi node cukup tersedia.
- Manfaat: Thread konkuren dapat digunakan untuk mengembalikan hasil kueri, mengurangi rata-rata waktu yang diperlukan untuk mengembalikan hasil kueri hingga 50%. Pemanfaatan sumber daya meningkat.
- Pengujian Kinerja:
- Lingkungan Pengujian
- Node: Tiga node komputasi bersama hangat-dingin yang disediakan oleh OpenStore, masing-masing menawarkan 16 vCPU dan 64 GiB memori. null Node komputasi bersama hangat-dingin yang disediakan oleh OpenStore tersedia untuk dibeli di Konsol Elasticsearch hanya di Situs Alibaba Cloud China (aliyun.com).
- Dataset: 1,6 TB data log bisnis. Data disimpan sebagai 6 miliar dokumen dalam indeks yang dikonfigurasikan dengan 60 shard.
- Kueri: 3 TermQuery(and) + TimeRange + Sort + Datehistogram. 10 juta dokumen dapat di-query dari satu shard dengan tingkat hit sebesar 10%.
- Node: Tiga node komputasi bersama hangat-dingin yang disediakan oleh OpenStore, masing-masing menawarkan 16 vCPU dan 64 GiB memori.
- Hasil Pengujian:
- Waktu yang diperlukan untuk menanyakan data dari satu shard berkurang sebesar 65%.
- Waktu yang diperlukan untuk menanyakan data dari beberapa shard berkurang sebesar 53%.
- Lingkungan Pengujian
Prasyarat
Aktifkan fitur akselerasi untuk kueri yang dilakukan di halaman Discover konsol Kibana
{
"settings": {
"index.points.same_sort_order_as_index_sort": true,
"index.sort.field": [
"@timestamp"
],
"index.sort.order": [
"desc"
]
},
"mappings": {
"properties": {
"@timestamp": {
"type": "date"
}
}
}
}Gunakan fitur kueri konkuren
Masuk ke Konsol Kibana kluster Elasticsearch Anda dan buka halaman utama Konsol Kibana sesuai petunjuk.
Untuk informasi lebih lanjut tentang cara masuk ke Konsol Kibana, lihat Masuk ke Konsol Kibana.
nullDalam contoh ini, kluster Elasticsearch V7.10.0 digunakan. Operasi pada kluster versi lain mungkin berbeda. Operasi aktual di konsol yang berlaku.
Di pojok kanan atas halaman yang muncul, klik Dev tools.
- Pada tab Console, jalankan perintah berikut untuk mengaktifkan fitur kueri konkuren:
PUT _cluster/settings { "persistent": { "apack.analytic_search.doc_concurrency.enabled": "true" } }Setelah perintah sebelumnya berhasil dijalankan, permintaan yang diterima oleh kluster Elasticsearch diproses berdasarkan pengaturan default untuk fitur kueri konkuren. Anda dapat memodifikasi konfigurasi terkait fitur kueri konkuren untuk mengontrol operasi kueri konkuren. Tabel berikut menjelaskan parameter yang dapat Anda konfigurasikan.- Konfigurasi Tingkat Kluster
Parameter Nilai default Deskripsi apack.analytic_search.doc_concurrency.enabled false Menentukan apakah akan mengaktifkan fitur kueri konkuren. Nilai valid: - true: Mengaktifkan fitur kueri konkuren.
- false: Menonaktifkan fitur kueri konkuren.
apack.analytic_search.doc_concurrency.concurrent.policy 80%:4;90%:2 Kebijakan konkurensi kueri. Anda harus mengonfigurasi parameter ini dalam format Ambang 1:Konkurensi 1;Ambang 2:Konkurensi 2;....Ambang n mewakili ambang batas untuk pemanfaatan CPU node.
Konkurensi nmewakili jumlah thread konkuren yang akan digunakan untuk kueri ketika pemanfaatan CPU node kurang dari nilaiAmbang n. Sebagai contoh, nilai80%:4;90%:2menunjukkan bahwa empat thread konkuren digunakan untuk kueri ketika pemanfaatan CPU node kurang dari 80% dan dua thread konkuren digunakan untuk kueri ketika pemanfaatan CPU node kurang dari 90%. Jika pemanfaatan CPU node lebih besar dari atau sama dengan 90%, hanya satu thread yang digunakan untuk kueri.apack.analytic_search.doc_concurrency.min_support_doc 10000 Jumlah minimum dokumen dalam indeks tempat fitur kueri konkuren dapat berlaku. Jika jumlah dokumen dalam indeks kurang dari batas bawah, fitur kueri konkuren tidak berlaku pada indeks. apack.analytic_search.doc_concurrency.min_support_processors 4 Jumlah minimum vCPU yang dikonfigurasikan untuk node tempat fitur kueri konkuren dapat berlaku. Jika jumlah vCPU yang dikonfigurasikan untuk node kurang dari batas bawah, fitur kueri konkuren tidak berlaku pada node. apack.analytic_search.doc_concurrency.max_support_heap_usage 80% Penggunaan heap memori Java Virtual Machine (JVM) maksimum dari node tempat fitur kueri konkuren dapat berlaku. Jika penggunaan heap memori JVM dari node lebih besar dari batas atas, fitur kueri konkuren tidak berlaku pada node. apack.analytic_search.doc_concurrency.max_support_cpu_usage 90% Pemanfaatan CPU maksimum dari node tempat fitur kueri konkuren dapat berlaku. Jika pemanfaatan CPU dari node lebih besar dari batas atas, fitur kueri konkuren tidak berlaku pada node. - Konfigurasi Tingkat Indeks
Parameter Nilai default Deskripsi index.apack.analytic_search.doc_concurrency.enabled true Menentukan apakah akan mengaktifkan fitur kueri konkuren. Nilai valid: - true: Mengaktifkan fitur kueri konkuren.
- false: Menonaktifkan fitur kueri konkuren.
index.apack.analytic_search.doc_concurrency.allow_no_agg false Menentukan apakah akan mengaktifkan fitur kueri konkuren untuk kueri selain kueri agregat. - true: Mengaktifkan fitur kueri konkuren untuk kueri selain kueri agregat.
- false: Menonaktifkan fitur kueri konkuren untuk kueri selain kueri agregat.
- Konfigurasi Tingkat Kluster