2013-03-01 7 views
5

मैंने नियो 4 जे (https://github.com/impetus-opensource/Kundera/tree/trunk/kundera-neo4j) पर उच्च स्तरीय क्लाइंट का मूल कार्यान्वयन बनाया है और मूल निओ 4j ड्राइवर (और शायद स्प्रिंगडाटा) के साथ इसके प्रदर्शन की तुलना करना चाहता हूं। इस तरह से मैं ओवरहेड निर्धारित करने में सक्षम होगा कि मेरी लाइब्रेरी देशी चालक को डाल रही है।नियो 4 जे प्रदर्शन बेंचमार्किंग

मैं Neo4J के लिए YCSB का ही विस्तार बनाने की योजना।

मेरा प्रश्न है: क्या वस्तु की एक बुनियादी इकाई के रूप में विचार किया जाना चाहिए neo4j में लिखा होना चाहिए (यह एक एकल नोड या एक बढ़त से जुड़े हुए नोड्स के एक जोड़े होना चाहिए)। नियो 4 जे दुनिया में वर्तमान अभ्यास क्या है। Neo4j प्रदर्शन बेंचमार्किंग करने वाले लोग इसे कैसे कर रहे हैं। प्रदर्शन परीक्षण करने के लिए

+1

थोड़ा ओटी, लेकिन मैं सामान्य रूप से ग्राफ डीबी बेंचमार्किंग के बारे में कुछ लेख याद करता हूं, शायद यह मदद करेगा: https://code.google.com/p/orient/wiki/GraphDBComparison और http: //ups.savba। sk/~ marek/gbench.html – ulkas

उत्तर

1

एक तरह से जैसे उपयोग करने के लिए है http://gatling-tool.org/http://ldbc.eu पर बेंचमार्क फ्रेमवर्क बनाने के लिए काम चल रहा है। अन्यथा, बेंचमार्किंग आपके डोमेन डेटासेट और उन प्रश्नों पर अत्यधिक निर्भर है जो आप करने का प्रयास कर रहे हैं। शायद आप https://github.com/neo4j/performance-benchmark पर शुरू कर सकते हैं और उसमें सुधार कर सकते हैं?

+0

मृत लिंक: https://github.com/neo4j/performance-benchmark – Relic

3

देखें graphdb-benchmarks

परियोजना graphdb-मानक लोकप्रिय ग्राफ dataases के बीच एक बेंचमार्क है। वर्तमान में ढांचा टाइटन, ओरिएंट डीबी, नियो 4j और स्पार्कसी का समर्थन करता है। इस बेंचमार्क का उद्देश्य निष्पादन समय के संदर्भ में प्रत्येक ग्राफ डेटाबेस के प्रदर्शन की जांच करना है। बेंचमार्क चार वर्कलोड, क्लस्टरिंग, बड़े पैमाने पर प्रविष्टि, एकल प्रविष्टि और क्वेरी कार्यभार से बना है। प्रत्येक वर्कलोड को ग्राफ डेटाबेस सिस्टम में सामान्य संचालन अनुकरण करने के लिए डिज़ाइन किया गया है।

क्लस्टरिंग वर्कलोड (सीडब्ल्यू): सीडब्ल्यू में मॉड्यूलरिटी ऑप्टिमाइज़ेशन, लोवेन विधि के लिए एक प्रसिद्ध समुदाय पहचान एल्गोरिदम शामिल है। हम बेंचमार्क ग्राफ डेटाबेस के शीर्ष पर एल्गोरिथ्म अनुकूलन और कैश तकनीकों का इस्तेमाल दोनों ग्राफ डेटाबेस क्षमताओं का लाभ और इन-स्मृति निष्पादन की गति लेने के लिए। हम उस समय को मापते हैं जब एल्गोरिदम को अभिसरण करने की आवश्यकता होती है।

भारी सम्मिलन वर्कलोड (एमआईडब्ल्यू): ग्राफ डेटाबेस बनाएं और इसे बड़े पैमाने पर लोड करने के लिए कॉन्फ़िगर करें, फिर हम इसे किसी विशेष डेटासेट के साथ पॉप्युलेट करते हैं। हम पूरे ग्राफ के निर्माण के लिए समय मापते हैं।

सिंगल सम्मिलन वर्कलोड (एसआईडब्ल्यू): ग्राफ डेटाबेस बनाएं और इसे किसी विशेष डेटासेट से लोड करें। प्रत्येक ऑब्जेक्ट सम्मिलन (नोड या एज) सीधे किया जाता है और ग्राफ को क्रमशः बनाया जाता है। हम प्रति ब्लॉक सम्मिलन समय को मापते हैं, जिसमें एक हजार किनारों और नोड्स शामिल होते हैं जो इन किनारों के सम्मिलन के दौरान दिखाई देते हैं।

क्वेरी कार्यभार (QW): FindNeighbours (एफ एन): तीन आम प्रश्नों निष्पादित सभी नोड्स के पड़ोसियों पाता है। FindAdjacentNodes (एफए): सभी किनारों के आसन्न नोड्स पाता है। FindShortestPath (एफएस): पहले नोड और 100 यादृच्छिक रूप से उठाए गए नोड्स के बीच सबसे छोटा रास्ता पाता है।

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