2012-03-23 3 views
12

क्या एक मशीन पर एकाधिक सोलर शर्ड्स चलाना प्रदर्शन में सुधार करता है? मैं ल्यूसीन को बहु-थ्रेडेड होने की अपेक्षा करता हूं, लेकिन ऐसा लगता है कि यह मेरे भौतिक कोर पर 16 कोर कोर के साथ एक कोर से अधिक का उपयोग नहीं कर रहा है। मुझे एहसास है कि यह वर्कलोड निर्भर है, लेकिन किसी भी आंकड़े या मानक बहुत उपयोगी होंगे!एक मशीन पर एकाधिक सौर शार्ड्स प्रदर्शन में सुधार करते हैं?

+2

क्या आपने किसी भी मौके से कल हैकर समाचार पढ़ा था? http://carsabi.com/car-news/2012/03/23/optimizing-solr-7x-your-search-speed/ – aitchnyu

+3

हाँ, मैंने लिखा था :) मैं उम्मीद कर रहा था कि अन्य लोगों के कुछ आंकड़े थे जिनकी तुलना मैं कर सकता था हालांकि – cberner

+0

@cberner क्या इंडेक्स प्रदर्शन के लिए यह सच है या यह एक पूरी तरह से अलग जानवर है? मुझे उपयोगकर्ता सामग्री के साथ अक्सर मेरी अनुक्रमणिका को अपडेट करने की आवश्यकता है और मैं इसे तेज करने की तलाश में हूं। –

उत्तर

11

मैंने कुछ benchmarks of our search stack चलाया, और पाया कि अधिक सोलर शर्ड्स (16 भौतिक कोर के साथ एक मशीन पर) को 8 शर्ड्स तक प्रदर्शन में सुधार हुआ (जहां मुझे 6.5x की गति मिली)। यह ~ 1.5 मिलियन दस्तावेजों के साथ एक सूचकांक पर है, जटिल रेंज पूछताछ चला रहा है।

तो, ऐसा लगता है कि एकल सूचकांक के खिलाफ क्वेरी चलाने पर सोलर एकाधिक भौतिक कोर का लाभ नहीं लेता है।

+0

चूंकि आपकी अनुक्रमणिका आई/ओ कैश में फिट बैठती है, इसलिए बेहतर विलंबता में कमी आती है। लेकिन यह एक सामान्य सलाह नहीं होनी चाहिए: एक बड़ी अनुक्रमणिका के साथ क्या होगा? एक वास्तविक समय संदर्भ में? और आप पूरे उपाय नहीं करते हैं, क्या होता है जब समवर्ती स्तर बढ़ता है? क्या आप फिर से अपने प्रयोग कर सकते हैं लेकिन सोलर को प्रश्न भेजने वाले धागे की एक बड़ी संख्या के साथ? (उदाहरण के लिए 20) – jpountz

+0

मुझे एक बड़ी अनुक्रमणिका के बारे में पता नहीं है, लेकिन रीयल-टाइम सर्च के लिए, मैं इंडेक्सिंग प्रदर्शन को बेहतर बनाने के लिए छोड़ दूंगा क्योंकि लेखन कई शॉर्ड्स पर फैल जाएगा। मैं अगले सप्ताह कुछ थ्रूपुट परीक्षणों को आजमाऊंगा और चलाऊंगा। मैं उम्मीद नहीं करता कि वहां भी बहुत अंतर आएगा, क्योंकि शेरिंग के ऊपरी हिस्से में <20% – cberner

0

आप वर्तमान में एक भी ठीकरा के साथ एक बॉक्स है, तो कई टुकड़ों में इस ठीकरा बंटवारे है:

  • प्रवाह क्षमता खराब हो जाने की संभावना है,
  • , विलंबता सुधार हो सकता है क्वेरी निष्पादन parallelizing द्वारा।

मैं आँकड़ों या बेंचमार्क के साथ प्रदान नहीं कर सकते, क्योंकि यह है कि क्या क्वेरी निष्पादन CPU या आई/ओ बाध्य है पर निर्भर करता है: यदि क्वेरी निष्पादन पहले से ही आई/ओ तो कई में ठीकरा बंटवारे एक बॉक्स पर बाध्य है shards भी थ्रूपुट खराब हो जाएगा। आपको खुद का परीक्षण करने की आवश्यकता होगी, बस एक उत्पादन लॉग लें और इसे दोनों दृश्यों में फिर से चलाने का प्रयास करें।

+0

उपरोक्त मेरा उत्तर देखें, वास्तव में यह प्रदर्शन में सुधार करने के लिए प्रतीत होता है, महत्वपूर्ण रूप से भी। – cberner

संबंधित मुद्दे