Manticore 2.8.2 बनाम 3.0 - कुछ परीक्षणों में 2x तेज़

जैसा कि आप शायद जानते हैं हाल ही में Manticore 3.0 का एक नया संस्करण जारी किया गया

इस बेंचमार्क में देखते हैं कि यह 2.8 से बेहतर है या नहीं। परीक्षण वातावरण इस प्रकार था:

कॉन्फ़िगरेशन दोनों Manticore संस्करणों के लिए समान है:

source full
{
  type = csvpipe
  csvpipe_command = cat /root/hacker_news_comments.prepared.csv|grep -v line_number
  csvpipe_attr_uint = story_id
  csvpipe_attr_timestamp = story_time
  csvpipe_field = story_text
  csvpipe_field = story_author
  csvpipe_attr_uint = comment_id
  csvpipe_field = comment_text
  csvpipe_field = comment_author
  csvpipe_attr_uint = comment_ranking
  csvpipe_attr_uint = author_comment_count
  csvpipe_attr_uint = story_comment_count
}

index full
{
  path = /root/idx_full
  source = full
  html_strip = 1
  mlock = 1
}

searchd
{
  listen = 9306:mysql41
  query_log = /root/query.log
  log = /root/searchd.log
  pid_file = /root/searchd.pid
  binlog_path =
  qcache_max_bytes = 0
}

अनुक्रमण

अनुक्रमण में Manticore 3.0 के लिए 1303 सेकंड और Manticore 2.8.2 के लिए 1322 सेकंड लगे:

Manticore 3.0:

indexing index 'full'...
collected 11654429 docs, 6198.6 MB
creating lookup: 11654.4 Kdocs, 100.0% done
creating histograms: 11654.4 Kdocs, 100.0% done
sorted 1115.7 Mhits, 100.0% done
total 11654429 docs, 6198580642 bytes
total <b>1303.470</b> sec, 4755444 bytes/sec, 8941.07 docs/sec
total 22924 reads, 16.605 sec, 238.4 kb/call avg, 0.7 msec/call avg
total 11687 writes, 13.532 sec, 855.1 kb/call avg, 1.1 msec/call avg

Manticore 2.8:

indexing index 'full'...
collected 11654429 docs, 6198.6 MB
sorted 1115.7 Mhits, 100.0% done
total 11654429 docs, 6198580642 bytes
total <b>1322.239</b> sec, 4687939 bytes/sec, 8814.15 docs/sec
total 11676 reads, 15.248 sec, 452.6 kb/call avg, 1.3 msec/call avg
total 9431 writes, 12.800 sec, 1065.3 kb/call avg, 1.3 msec/call avg

इसलिए इस डेटा सेट और अनुक्रमण स्कीमा के साथ 3.0 में अनुक्रमण 2.8 की तुलना में ~1.5% तेज है।

प्रदर्शन परीक्षण


दोनों उदाहरणों को परीक्षण से पहले गर्म किया गया था।

Manticore 3.0:

total 4.7G
drwx------ 2 root root 4.0K May 14 17:41 .
drwxr-xr-x 3 root root 4.0K May 14 17:40 ..
-rw-r--r-- 1 root root 362M May 14 17:24 idx_full.spa
-rw-r--r-- 1 root root 3.1G May 14 17:36 idx_full.spd
-rw-r--r-- 1 root root  90M May 14 17:36 idx_full.spe
-rw-r--r-- 1 root root  628 May 14 17:36 idx_full.sph
-rw-r--r-- 1 root root  29K May 14 17:24 idx_full.sphi
-rw-r--r-- 1 root root 6.5M May 14 17:36 idx_full.spi
-rw------- 1 root root    0 May 14 17:41 idx_full.spl
-rw-r--r-- 1 root root 1.4M May 14 17:24 idx_full.spm
-rw-r--r-- 1 root root 1.1G May 14 17:36 idx_full.spp
-rw-r--r-- 1 root root  59M May 14 17:24 idx_full.spt

Manticore 2.8:

total 4.6G
drwx------ 2 root root 4.0K May 16 18:38 .
drwxr-xr-x 3 root root 4.0K May 14 17:43 ..
-rw-r--r-- 1 root root 362M May 14 17:24 idx_full.spa
-rw-r--r-- 1 root root 3.1G May 14 17:36 idx_full.spd
-rw-r--r-- 1 root root  27M May 14 17:36 idx_full.spe
-rw-r--r-- 1 root root  601 May 14 17:36 idx_full.sph
-rw-r--r-- 1 root root 6.3M May 14 17:36 idx_full.spi
-rw-r--r-- 1 root root    0 May 14 17:24 idx_full.spk
-rw------- 1 root root    0 May 16 18:38 idx_full.spl
-rw-r--r-- 1 root root    0 May 14 17:24 idx_full.spm
-rw-r--r-- 1 root root 1.1G May 14 17:36 idx_full.spp
-rw-r--r-- 1 root root    1 May 14 17:36 idx_full.sps

परीक्षण 1 - संग्रह से शीर्ष 1000 शर्तों को संसाधित करने का समय

सबसे पहले हम एक सरल परीक्षण चलाते हैं - यह देखने के लिए कि संग्रह की शीर्ष 1000 सामान्य शर्तों के माध्यम से जाने और प्रत्येक के लिए सभी दस्तावेज़ों को खोजने में कितना समय लगता है:

परिणाम हैं: Manticore 2.8 के लिए 77.61 सेकंड और Manticore 3.0 के लिए 71.79 सेकंड।

इस परीक्षण में Manticore Search 3.0 पिछले संस्करण की तुलना में 8% तेज़ है।

परीक्षण 2 - समूहों के द्वारा संग्रह से शीर्ष 1000 सामान्य शर्तें (शीर्ष 1-50, शीर्ष 50-100 आदि)

अब चलिए देखते हैं कि क्या 3.0 विभिन्न आवृत्तियों के समूहों से शर्तों को संसाधित करने के मामले में बेहतर है। नीचे आप प्रत्येक समूह से कुछ यादृच्छिक उदाहरण देख सकते हैं:

1-5050-100100-150150-200200-250250-300
onemuchoureverylesspay
withवास्तव मेंमेंबिनादूसरासमझना
थाअन्यअभी भीनीचेपहले से हीसभी
300-350350-400400-450450-500500-550550-600
खोजडेवलपर्सबनाते हैंरुचिसामान्यको
कारणपूरादिया गयाअसफल प्रयासमॉडलऑफिस
कुछ नहींनामदोस्तएक्सेसराशिभुगतान किया गया
600-650650-700700-750750-800800-850850-900
प्रबंधनस्वयंपारपीजीपेपरकोर
संबंधितमार्केटिंगसीखा गयारायचुनेंउच्च
जाते हैंनहींपोस्टजोखिममजबूतट्रैफिक
900-950950-1000
सोचेंकाफी अच्छा
इंटरफेसयुवा
प्रतिक्रियाअंग्रेजी


Manticore 2.8 औसतन 3.0 से 0.4% तेजी से है और 0.5% अधिक थ्रूपुट प्रदान करता है। यह त्रुटि सीमा के भीतर है।

टेस्ट 3 - संग्रह से शीर्ष 1000 सामान्य शर्तें समूहों के अनुसार + समूह 1-100 से 1 शर्त

Let’s see how it works when you have one very frequent term and another less frequent from different frequency groups. The examples are:

1-5050-100100-150150-200200-250250-300
other canthe noon overabout hisshould bigs ever
no aremy useother whyhad dayhad givethem let
here somebeen knows wherehow surebeen bighere e
300-350350-400400-450450-500500-550550-600
who developerit booknow singlenot accessat solutiontheir called
work startedan ycombinatorfrom adduse sitesknow microsoftas mostly
at hoursnow valuealso givenwhich builtthan powerof early
600-650650-700700-750750-800800-850850-900
know scienceshould marketingshould kidsthe numberstheir drivewho highly
if agreean minutest poststime pgthere pickhas opportunity
would relatedhas countryget postshttp educationalso extremelyविषय हो सकता है
900-950950-1000
किसी पार्टीविशेष रूप से
केवल प्रतिक्रियाकंप्यूटर हो सकता है
लोग फ़ायरफ़ॉक्सकंप्यूटर के बारे में


Manticore 3.0 औसतन 86.3% उच्च थ्रूपुट और 109.5% कम 95p विलंबता दिखाता है।

परीक्षण 4 - संग्रह से शीर्ष 1000 बार-बार आने वाली शर्तें, समूहों द्वारा विभाजित + समूह 1-100 से 1 शर्त, दोनों शर्तें एक वाक्य बनाने के लिए उद्धरण में रखी गईं

1-5050-100100-150150-200200-250250-300
"काम नहीं""आप उनके""हम अभी भी""का अपना""मुझे प्राप्त करना""चला सकते हैं"
"मेरे लिए""बहुत""आपकी नौकरी""उपयोग मिला""यहाँ बुरा""फिर कभी"
"लेकिन वह""प्राप्त करो com""मैं पहले""अब दिन""उठो मदद""फिर बना रहे"
300-350350-400400-450450-500500-550550-600
"यह जानकारी""उन समुदाय""1 देखभाल""क्या मोबाइल""बाहर खुश""देखने के लिए"
"com पक्ष""यह सर्वर""com स्थिति""एक विशाल""कैसे रोकें""s लिखा गया है"
"वह देखता है""था x""समय बन गया""उन्होंने कोशिश की""चाहिए आता""अन्य ध्वनियाँ"
600-650650-700700-750750-800800-850850-900
"api द्वारा""जल्द ही नहीं""कु curious""कई बार था""फिक्स का""चीजें बिल्कुल"
"तीन का""आने का उपयोग""जिसमें कमी""कौन ui""वे समझना""अधिकतम विषय"
"वास्तव में बात करना""आवेदन बनाना""वास्तव में वातावरण""कौन है जो हायरिंग कर रहा है""महंगा है""अधिक कोर"
900-950950-1000
"बस ढांचा""मुझे खेद है"
"काम संसाधन""लाभ चाहते हैं"
"उनके संसाधन""स आगे"


Manticore v3 औसत में 5.6% अधिक तेज है और 95p लेटेंसी में 25.1% कम है।

टेस्ट 5 - 600-750 समूह से प्रत्येक 2 शर्तें अलग-अलग संघों के तहत

यह परीक्षण विभिन्न क्वेरी संघों के तहत थ्रूपुट में अंतर दिखाने का लक्ष्य रखता है। कुछ यादृच्छिक उदाहरण:

क्वेरी उदाहरण: “बात करने वाला दृश्य”, “कल्पना 15”, “कुण्डलित शब्द”


तो संस्करण 3 सभी संघों में औसतन 18% तेज है और औसत 95p लेटेंसी 15% कम है।

टेस्ट 6 - विभिन्न समूहों से 3-5 शर्तें

अब चलिए लंबे क्वेरियों के साथ प्रदर्शन की जांच करते हैं।

  • 100-200 400-500 800-900 समूहों से 3 शर्तें
  • 100-200 300-400 500-600 800-900 समूहों से 4 शर्तें
  • 100-200 300-400 500-600 800-900 900-1000 समूहों से 5 शर्तें

क्वेरी उदाहरण:

3 शर्तें4 शर्तें5 शर्तें
गरीब में करनाये सर्च बेहतरीन पृष्ठभूमि

कारण परिणाम लिए गए विज्ञापन

हमेशा प्रयास किया कहानियाँफिर से काम कर रहे टिप्पणियाँ लिंक

प्रक्रिया स्थिति तेज लाना

नौकरी पाठ कार्डगूगल नंबर नेटवर्क फ़ंक्शन

दिनों को जाना ब्राउज़र ज्ञात वेतन


संस्करण 3 फिर जीतता है: थ्रूपुट - 104% अधिक और 95p लेटेंसी 113% कम।

टेस्ट 7: 300-600 समूहों से 3 और शर्तें और 1 NOT समूह 300-400 से

अब चलिए 3 AND में एक NOT शर्त जोड़ें।


v3 में थ्रूपुट - 33.3% अधिक, 95p लेटेंसी - 32% कम।

निष्कर्ष

नया संस्करण सभी परीक्षणों में उल्लेखनीय रूप से उच्च प्रदर्शन दिखाता है सिवाय परीक्षण #2 के, लेकिन वहाँ अंतर त्रुटि सीमा (0.4-0.5%) के भीतर है।

The test is fully dockerized and open sourced in our github . The detailed results can be found here We’ll appreciate if you run the same tests on your hardware or contibute by adding more tests to the suite and let us know the results.
If you find any issue or inaccuracy don’t hesitate to let us know.

Thank you for reading!

मैंटीकोर सर्च इंस्टॉल करें

मैंटीकोर सर्च इंस्टॉल करें