लोचदार खोज में किसी क्वेरी की खोज गति कैसे सुधारें?
मेजबान ElasticSearch से AWS है, मेरे पास 2TB डेटा 6 नोड्स में संग्रहीत है और प्रत्येक 30 शार्क के साथ 30 अनुक्रमित में है। सभी अनुक्रमितों में एक सरल खोज बहुत धीमी है और कुछ मिनट लगते हैं।
मैंने कहां गलती की? क्या यह सामान्य है या मेरी सेटिंग खराब है या शायद मेरे पास बहुत अधिक डेटा संग्रहीत है?
मेरी क्लस्टर सेटिंग्स:
"search": {
"max_queue_size": "1000",
"queue_size": "1000",
"size": "4",
"auto_queue_frame_size": "2000",
"target_response_time": "1s",
"min_queue_size": "1000"
},
मेरी नोड्स सेटिंग:
"os": {
"refresh_interval_in_millis": 1000,
"name": "Linux",
"pretty_name": "CentOS Linux 7 (Core)",
"arch": "amd64",
"version": "4.15.0-1039-aws",
"available_processors": 32,
"allocated_processors": 2
}
धन्यवाद!
जवाब
यह बहुत ही कम जानकारी के साथ एक बहुत व्यापक प्रश्न है, क्या आप अधिक जानकारी प्रदान कर सकते हैं जैसे:
- आपके पास प्रत्येक शार्क का कितना डेटा और आकार है।
- उनके एवीजी समय के साथ नमूना खोज क्वेरी।
- डेटा नोड्स के आकार का आकार और आपके पास
allocated_processors
उपलब्ध प्रोसेसर की तुलना में बहुत कम (2) क्यों है (32) - आप अपने खोज क्वेरी में कितने दस्तावेज़ ले रहे हैं अर्थात आकार का पैराम।
- कोई खोज कॉल के लिए खोज विलंबता wrt
- इलास्टिसर्च (ईएस) के धीमी लॉग खोजें
आप खोज प्रदर्शन को बेहतर बनाने के लिए मेरे 10 सुझावों का उल्लेख कर सकते हैं , और मुझे युक्तियों में बताए गए कुछ पैराम के मूल्यों को भी बता सकते हैं, साथ ही क्लस्टर ऑप्टिमाइज़र टूल को ठीक ट्यून क्लस्टर और ईएस की नोड्स सेटिंग्स की कोशिश कर सकते हैं ।
जैसा कि टिप्पणी में चर्चा की गई है, कृपया डिबगिंग समस्या के लिए अधिक कुशलता से ओपस्टर की खोज धीमी-लॉग ब्लॉग देखें ।
1)I have 2TB data. Every index has 50GB or more. Each has 10 shards and a replica
यही बहुत है। एक शार्क के लिए लक्ष्य का आकार लगभग 50Gb होना चाहिए। अपनी सेटिंग के साथ आप प्रत्येक 5Gb के आसपास अधिक हैं। आप 5 शार्क या उससे कम सिकुड़ सकते हैं और 1 सेगमेंट में विलय कर सकते हैं। प्रदर्शन में बहुत सुधार किया जाना चाहिए।
उसके बाद, अपने ब्लॉग में ऑप्टस्टर्स द्वारा प्रदान की गई अन्य अच्छी सलाह को देखें। वे सभी प्रासंगिक हैं।