हिप हॉप वीएम Drupal होस्टिंग

पिछले मार्च, फेसबुक हैक, अपने HipHop वर्चुअल मशीन (HHVM) के लिए एक नया खुला स्रोत प्रोग्रामिंग भाषा की घोषणा की पीएचपी के साथ सहजता से interoperate करने के लिए तलाश किया। घोषणा के बाद, मैं सब कुछ वे PHP से जितना संभव हो उतना प्रदर्शन मरोड़ की कोशिश में नई रिलीज के साथ की कोशिश की देख मोहित हो गया था। यह मैं एक विचार दे दी है: यद्यपि हम सटीक चुनौतियों है कि फेसबुक एक दैनिक आधार पर करता है का सामना नहीं करते हैं, यह देखने के लिए क्या हुआ अगर मैं HHVM, फेसबुक के निष्पादन इंजन के नवीनतम यात्रा के तहत Drupal चलाने का भी प्रयास होगा दिलचस्प होगा।

मेजबानी

आधिकारिक HHVM संकुल केवल Ubuntu और डेबियन के लिए वितरित कर रहे हैं, लेकिन शुक्र है कुछ उद्यमी लोग उन्हें CentOS के लिए पैक किया है। एक आभासी मशीन और कुछ अतिरिक्त संकुल की एक त्वरित स्टैंड अप के साथ तो, हम जाने के लिए अच्छे थे। परीक्षण करने के लिए, हम एक काफी जटिल साइट है कि हम पिछले साल विकसित की है, हमेशा की तरह पैनलों और सामग्री के बीच महत्वपूर्ण संबंधों के साथ प्रदर्शन सुइट पर बनाया गया चुना है। मतलब यह कि किसी भी पृष्ठ पर, Drupal लोड और पृष्ठ पर सिर्फ एक के पार कई संस्थाओं रेंडर करने के लिए की संभावना थी।

मैं साइट के लिए वर्तमान PHP और डेटाबेस लिया और एक स्थानीय वी एम पर यह उठ खड़ा हुआ 4 कोर और स्मृति के 6.5 GB के साथ। हम, सर्वर की संख्या निर्धारित करने MySQL में कैश करने के लिए कुछ बढ़ जाती है के साथ एफ पी एम की कुछ मामूली अनुकूलन किया था। उसके अलावा, यह काफी XCache, Percona 5.5, और nginx साथ पीएचपी 5.3 की एक वेनिला स्थापना है। लक्ष्य तेजी से संभव के रूप में सब कुछ करने के लिए के रूप में ज्यादा संबंध के बिना "सेब के लिए सेब" दो दुभाषियों की तुलना एक के रूप में ज्यादा प्रदान करना था। हम तो साइट spidered और यादृच्छिक पर 1000 URL बाहर नमूना और HHVM और PHP-एफ पी एम के साथ चल साइट के खिलाफ 30 समवर्ती अनुरोध जनरेट करने के JMeter भाग गया। हम सर्वर पर समय और लोड दर्ज की गई।

बंद शुरू, हम साइट की एक ठंडी शुरुआत के खिलाफ परीक्षण भाग गया। हम Drupal कैश साफ़ कर और पुन: प्रारंभ nginx, पीएचपी-एफ पी एम और MySQL। हम तो लगातार कैशे किए गए आइटम का निर्माण करने के लिए एक एकल अनुरोध के साथ मुख पृष्ठ मारा। अनुरोध अप अपेक्षाओं शुरू कर दिया, समय हर एक ऊपर चला गया के रूप में उम्मीद को पूरा करने के।

औसत प्रतिक्रिया समय नमूना हर 5 सेकंड, ठंडी शुरुआत

कि क्या सर्वर पर हो रहा था प्रतिबिंबित करता है।

कुल मिलाकर सीपीयू और मेमोरी उपयोग, ठंडी शुरुआत

हम वास्तविक प्रक्रियाओं है कि CPU और स्मृति उपयोग पैदा कर रहे थे केवल पीएचपी-FHM से प्रत्येक प्रक्रिया पर नज़र रखने के चुनौतीपूर्ण था क्योंकि mysqld बाहर खींच इस मामले में, जाँच की।

mysqld के लिए CPU उपयोग, mysqld के लिए मेमोरी उपयोग शुरू ठंड, ठंडी शुरुआत

एक कोर के 100 से अधिक% करने के लिए 60%, कुछ कीलें - MySQL 40 से कहीं भी उपयोग कर रहा था। अन्य सभी कोर पूरी तरह से PHP-एफ पी एम द्वारा इस्तेमाल किया गया। इसी तरह, MySQL उपयोग कर रहा था, औसत पर, स्मृति के बारे में 300 एमबी। मैं पूरी तरह यकीन है कि क्या ऐसे क्षेत्र हैं जहां प्रसंस्करण रुक जाता है और प्रतिक्रिया समय स्पाइक कारण था नहीं हूँ। मैं उन सभी परिदृश्यों पर देखा था, और मेरा अनुमान है कि वे आई / ओ अवरुद्ध किसी प्रकार की वजह से थे, हो सकता है MySQL या nginx से।

हिप हॉप वीएम Drupal होस्टिंग Drupal कैश और

एक दूसरे परीक्षण के रूप में, हम, व्यवस्था के खिलाफ ठीक उसी यूआरएल भाग गया Drupal संचय को साफ़ करता है, तो XCache और MySQL के लिए यात्रा में एक जला मदद मिलेगी देखने के लिए। कुल मिलाकर, यह एक पूरी 400 मिलीसेकंड से मंझला प्रतिक्रिया समय कम है और प्रति मिनट एक whopping 2.081 पृष्ठों के द्वारा प्रवाह क्षमता वृद्धि हुई है। सामान्य रूप में प्रतिक्रिया समय चोटियों और पिछले रन से घाटियों के कम के साथ एक छोटे से अधिक अस्थिर थे, लेकिन परिणाम बहुत निरंतर चल रहे थे।

औसत प्रतिक्रिया समय नमूना हर 5 सेकंड, गर्म शुरू कुल मिलाकर सीपीयू और मेमोरी उपयोग, गर्म शुरू

उसके बाद हम मशीन को पुनः आरंभ, HHVM के लिए पीएचपी-एफ पी एम से स्विच। शुक्र है, यह FastCGI का समर्थन करता है, तो यह nginx विन्यास थोड़ा फेरबदल का एक सरल बात थी। सेटअप पीएचपी-एफ पी एम के लिए के रूप में ठीक उसी था; हम यह सुनिश्चित करें कि Drupal कैश साफ़ कर रहा था बनाया और MySQL और nginx को पुनः आरंभ। हम तो एक ही अनुरोध के साथ मुखपृष्ठ मारा और JMeter अप शुरू कर दिया।

औसत प्रतिक्रिया समय नमूना हर 5 सेकंड, ठंडी शुरुआत

पहली बात हमने पाया है कि यह समय सिर्फ आधा तहत, 06:28 के रूप में 13:21 के लिए विरोध में पूरा किया गया था। प्रतिक्रिया ग्राफ का हर हिस्सा बेहतर था, और दोनों चोटियों और घाटियों काफी कम थे। पर थोड़ा हिचकी बहुत शुरू होने से पहले ही गिरा दिया, JIT कम्पाइलर चल रहा था।

सर्वर आँकड़े को देखते हुए, उन लोगों के रूप में अच्छी तरह से सुधार किया गया।

कुल मिलाकर सीपीयू और मेमोरी उपयोग, ठंडी शुरुआत

HHVM एक भी प्रक्रिया के रूप में चलाता है, तो हम उनके लिए अलग से सीपीयू और स्मृति के उपयोग पर कब्जा करने में सक्षम थे।

mysqld और hhvm, mysqld और hhvm, ठंड शुरू करने के लिए ठंडी शुरुआत मेमोरी उपयोग के लिए CPU उपयोग

बस इन रेखांकन को देखते हुए, यह चीजों के एक जोड़े को बताने के लिए बहुत आसान है। अर्थात्, HHVM के लिए दोनों सीपीयू और स्मृति के उपयोग पीएचपी-एफ पी एम में सुधार कर रहे हैं। 26 पीएचपी-एफ पी एम के तहत% - HHVM के लिए पीक स्मृति उपयोग 25 की तुलना में लगभग 20% की कुल सिस्टम उपयोग के लिए बस के बारे में 320 एमबी था। 75% - इसी तरह, कुल CPU उपयोग 95% सीपीयू और 70 के करीब एक मंझला करने के लिए लगातार कील की तुलना% और मंझला 60% के करीब 90 से अधिक करने के लिए spikes के केवल एक जोड़े के साथ कम थी,।

पीएचपी-एफ पी एम परीक्षण की तरह, हम भी HHVM की एक गर्म शुरू के खिलाफ परिदृश्य भाग गया। पीएचपी-एफ पी एम की तरह, वहाँ केवल मंझला प्रतिक्रिया समय में 200 मिलीसेकंड अंतर के बारे में बहुत कम अंतर था,।

हम उच्च स्तर पर देखने के लिए कर रहे हैं, HHVM पीएचपी-एफ पी एम के लिए बहुत अच्छी तरह से तुलना करती है।

हम दोगुने से अधिक प्रवाह और औसत प्रतिक्रिया समय आधे से भी कम देखा। सिस्टम संसाधनों में कमी की जरूरत के साथ संयुक्त, यह HHVM करने के लिए स्विच करने के लिए एक बहुत सम्मोहक तर्क है।

कुछ महत्वपूर्ण विचार, कर रहे हैं लेकिन। सबसे बड़ी है कि HHVM टीम संभव के रूप में Zend PHP के रूप में करीब पाने के लिए प्रयास कर रहा है, जबकि, वे नहीं अभी तक कर रहे हैं। नवीनतम रिपोर्ट के रूप में, HHVM Drupal के लिए इकाई परीक्षण के 99.83% से गुजरता है, लेकिन वहाँ कोई पता नहीं है कि यह कैसे जो कुछ idiosyncrasies विभिन्न योगदान मॉड्यूल में मौजूद प्रभावित करेगा है। उदाहरण के लिए, हम जी.डी. सभी संकेत मिले हैं कि यह होना चाहिए के बावजूद, सब पर काम करने के लिए नहीं मिल सका। शुक्र है, यह ImageMagick के साथ आसानी से बदली है - सबसे जोड़तोड़ के लिए। वास्तव में, हम है कि HHVM के साथ विफल हमारे परीक्षण के दौरान किसी भी पन्नों में नहीं चला है, लेकिन क्या आप जानते हैं जब तक आप वास्तव में यह में चलाने काम नहीं कर सकते क्या कभी नहीं। इसके अलावा, परीक्षण सामने के छोर पर पूरी तरह से किया गया था। हम प्रशासनिक पक्ष पर सामान्य परिदृश्य के एक जोड़े के माध्यम से चला गया है, हम चाहते हैं कि अच्छी तरह से परीक्षण नहीं किया। कुछ पीएचपी मॉड्यूल इस तरह के एपीसी और मेम्कैश के रूप में, पोर्ट दिया गया है, और वहाँ तीसरे पक्ष द्वारा काम इस तरह के MongoDB, बर्फ और Redis के रूप में दूसरों, जोड़ने के लिए है, लेकिन कई मॉड्यूल कभी नहीं होगा नहीं और शायद है।

यह भी एक चलती लक्ष्य है। अभी HHVM टीम के चारों ओर एक 8 सप्ताह रिलीज चक्र में दिख रही है। मुमकिन है, वहाँ महत्वपूर्ण प्रतिगमन नहीं होगा के रूप में वे आगे बढ़ने, लेकिन आप कभी पता नहीं। इसी तरह, वे सरकारी पैकेज के लिए Ubuntu और डेबियन लक्षित कर रहे हैं, तो आप फेडोरा या CentOS चला रहे हैं या तो आप स्रोत से निर्माण करने के लिए है या किसी तीसरे पक्ष के भंडार है कि तारीख तक नहीं हो सकता है पर निर्भर हैं।

अस्वीकरण

ऊपर दिखाए गए प्रदर्शन के परिणामों एक बहुत 'गैर-उत्पादन' आभासी मैकबुक प्रो एक 2.3 GHz कोर i7 प्रोसेसर के साथ पर चल रहे मशीन पर एक उत्पादन साइट चलने से कर रहे हैं। ढेर सबसे अच्छा प्रदर्शन सुनिश्चित करने के लिए के किसी भी हिस्से पर बहुत कम ट्यूनिंग नहीं था। लोड परीक्षण एक है कि किसी अन्य उद्देश्य के लिए इस्तेमाल नहीं किया जा रहा था यद्यपि एक वायरलेस नेटवर्क पर एक अलग मशीन से प्रदर्शन किया गया था,। लोड परीक्षण किसी भी प्रतीक्षा समय या गैर पीएचपी संपत्ति के लिए अनुरोध शामिल नहीं किया था और इरादा पीएचपी दुभाषियों की प्रदर्शन बेंचमार्क के लिए वास्तविक उपयोग अनुकरण करने के लिए, केवल नहीं किया गया।

इस वीडियो को देखें!

संबंधित आलेख

Aegir Drupal होस्टिंग सेवाओंयदि आप सुनिश्चित आपके लिए क्या उपलब्ध है नहीं कर रहे हैं Drupal होस्टिंग चुनने एक चुनौतीपूर्ण काम हो सकता है। कुछ मामलों में, आप एक साझा होस्टिंग वातावरण है कि Hostgator या की तरह कुछ के साथ ठीक हो सकती है ...
जानें Drupal होस्टिंग के लिए php22:38 पर 3 फरवरी 2010 को juliejohnson26 द्वारा प्रकाशित किया गया और मैं Drupal के बारे में जानने, अधिक मुझे लगता है कि मैं कुछ पीएचपी सीखना चाहिए। किसी को भी, जहां ऐसा करने के लिए के बारे में सुझाव हैं? रहे...
पहली बाइट धीमी Drupal होस्टिंग के लिए समयमैं एक साथ एक Minelli subtheme के साथ एक D7 साइट डाल दिया। साथ ही मैं विभिन्न विषयों, विभिन्न मॉड्यूल के साथ एक बहुत प्रयोग किया। कहीं रास्ते में मैं एक अजीब प्रदर्शन मुद्दा विकसित की है, और ...
लोड टिप्पणी Drupal होस्टिंगअब्दुलरहमान 19:23 (mikeaja करने के लिए) फरवरी 2011 टिप्पणी की 18 मैं इस पर दो नोट: - Drupal 6 आवश्यक संसाधनों (विशेष रूप से CPU उपयोग) में 7 वर्ष से है, जो यह एक उपयोगी बनाने के मामले में कम है ...
Immigrer वर्डप्रेस vers जूमला की मेजबानीमैं अब तक कुछ वेब 2 प्लेटफार्मों का इस्तेमाल किया है, ब्लॉगर, wordpress.com की तरह। Weebly और कुछ और ब्लॉगिंग वेबसाइटों, तो मैं कह सकते हैं मैं एक "अनुभवी" ब्लॉगर (जिसका अर्थ है मैं कैसे उपयोग करने के लिए पता है कि हूँ ...