वर्डप्रेस स्केल कितना अच्छा है?


34

नए वर्डप्रेस और यह नई विशेषताओं के साथ, ऐसा लगता है कि वर्डप्रेस एक साधारण ब्लॉग इंजन की तुलना में बहुत अधिक सक्षम है। लेकिन 10k -> 100k उपयोगकर्ता प्रति दिन वर्डप्रेस स्केल का उपयोग कितनी अच्छी तरह से किया जा रहा है?

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

जवाबों:


37

स्पष्ट रूप से कुछ भी नहीं तराजू के साथ-साथ एक तेज वेब सर्वर और किसी भी सीएमएस द्वारा सेवित स्थिर फाइलें जिन्हें यह पता लगाना है कि क्या लोड करना है और फिर लोड करना है और साथ ही साथ, वर्डप्रेस या अन्यथा प्रदर्शन नहीं करेंगे। मुद्दों में से एक डेटाबेस अनुरोधों की संख्या है जो URL अनुरोध के अनुसार आवश्यक है और मेरे 2 पूर्व वर्षों का अनुभव विशेष रूप से Drupal के साथ काम कर रहा है और अब वर्डप्रेस के साथ 2+ वर्ष है कि वर्डप्रेस उस विभाग में बहुत बेहतर है।

उस ने कहा, किसी भी शक्ति के साथ लगभग कुछ भी "आउट-ऑफ-द-बॉक्स" के पैमाने पर नहीं जा रहा है ; यह सब आप के बारे में क्या कर सकते हैं के रूप में अपने scalability की जरूरत बढ़ती है?

के कम अंत पर "यातायात के बहुत सारे" देखते हैं महान कैशिंग प्लगइन्स और सस्ती CDNs के साथ एकीकरण आप नो-आईटी बजट और कम होस्टिंग बजट पर एक बहुत अच्छा काम कर सकते हैं। यहाँ कुछ अन्य प्रश्न और समीक्षा के उत्तर दिए गए हैं:

प्रदर्शन बाधाओं की पहचान करने के लिए प्रोफाइलिंग के विकल्प हैं :

एक बार अड़चनों की पहचान हो जाने के बाद आप ट्रांजिस्टर एपीआई जैसी चीजों के साथ स्थानीयकरण कर सकते हैं । यह Q & A एक उदाहरण देता है जिसे Transactions API का उपयोग करके अनुकूलित किया जा सकता है और यह दिखाता है कि:

आप बात वास्तव में करने के लिए चाहते हैं बड़ी बंदूकों बाहर खींच आप कॉन्फ़िगर कर सकते हैं Memcached , HyperDB , Nginx और / या गति बातें (यह बाद वास्तव में जिस तरह से में विकसित हो रहा है वर्डप्रेस से बाहर अद्भुत क्षमता प्राप्त करने के लिए लगता है) के लिए और अधिक:

और अंत में उभरते हुए वर्डप्रेस-केंद्रित वेबहोस्ट हैं जो WP इंजन , ZippyKid और अन्य जैसे प्रदर्शन में विशेषज्ञता रखते हैं:

तो अच्छी खबर बहुत अच्छी तरह से तराजू के सभी है ; तकनीकी जटिलता और लागत के साथ मुक्त और आसान के बहुत कम अंत से केवल यातायात बढ़ता है। वर्डप्रेस के साथ छोटी शुरुआत करें और यह बहुत अच्छा होगा। यदि आपका ट्रैफ़िक नहीं बढ़ता है और आप इसे यथोचित रूप से अच्छी तरह से मुद्रीकृत कर रहे हैं, तो आपको इसकी आवश्यकता के अनुसार पैमाने पर बहुत लागत प्रभाव मिलेगा।

कम से कम आई.एम.ओ. :)


ऐसी गहन प्रतिक्रिया के लिए थैंक्स। मुझे आश्चर्य है, एक पृष्ठ के कैशिंग भागों के साथ काम करने के लिए वर्डप्रेस एपीआई कैसे है - इसलिए आपको केवल उपयोगकर्ता विशिष्ट भागों को उत्पन्न करने की आवश्यकता है न कि लॉग इन करने वाले उपयोगकर्ताओं के लिए या एज साइड का उपयोग करने के लिए पूरे पृष्ठ में उच्च ट्रैफ़िक साइटों के लिए शामिल है।
googletorp

माइक, आप एक जानवर हैं! हर जगह मैं इस साइट पर जाता हूं, मैं आपके उत्तरों पर आता हूं और वे सभी महान हैं!
dgw

@ एंजोगलेटोर्प : आप निश्चित रूप से ऐसा कर सकते हैं, यह सिर्फ हाथ से तैयार कोड लेता है। मुझे यह देखने में अच्छा लगेगा कि क्या इसे आसान बनाने के लिए एक ढांचा विकसित किया जा सकता है, लेकिन मैं वर्तमान में मजबूत और सुविधा संपन्न कस्टम पोस्ट फील्ड को लागू करने की कोशिश में लगा हूं। शायद कुछ ही देर में। :) @ मल्लाहफ़न 5761 : धन्यवाद। :)
माइकस्किंकेल

kiragiannis.com/cloud-computing/… यह बातचीत के लिए कुछ मैट्रिक्स ला सकता है।
जियो

4
  1. साझा होस्टिंग से बहुत उम्मीद न करें - यदि आप एक साझा होस्ट पर हैं तो धीमेपन के लिए वर्डप्रेस को दोष न दें। साझा किए गए होस्ट एक सर्वर में अधिकतम कई खाते कर सकते हैं। तो आप पूरा दिन $ 10 / महीने के खाते का अनुकूलन कर सकते हैं और इससे कोई फर्क नहीं पड़ेगा। मार्केटिंग buzzwords के लिए भी देखें - क्योंकि यह कहता है कि "क्लाउड" का अर्थ यह नहीं है कि आप एक सर्वर को 100 या अधिक लोगों के साथ साझा नहीं कर रहे हैं।

  2. मुझे नहीं लगता कि इस बिंदु पर कैश प्लगइन्स आवश्यक हैं। यदि आप WP स्रोत कोड को देखते हैं, तो पहले से ही कोर में पके हुए उन्नत कैशिंग है। कैश के कैश का एक कैश - बाहर देखो, यह उल्टा हो सकता है।

  3. मुख्य बात यह है कि आप धीमा है MySQL क्वेरीज़ और वर्डप्रेस आउट-ऑफ-द-बॉक्स आपको यहां परेशानी नहीं देनी चाहिए। हालांकि, मुझे अपनी टिप्पणी प्रश्नों को "लिमिट" करना पड़ा क्योंकि मेरे पास 50,000+ टिप्पणियां थीं। (क्या यह अभी तक तय है?) इसके अलावा, यदि आप कुछ भी कर रहे हैं (जैसे विभिन्न श्रेणियों की तरह?) कि एक समस्या भी हो सकती है।

  4. मैं NginX के साथ एक Linode 512 का उपयोग करता हूं और "टॉप" शो प्रति सेकंड 1/100 वें से कम में PHP और NginX अपना काम कर रहा है। लगभग सभी CPU समय MySQL के साथ जुड़ा हुआ है। आप $ 20 लाइनकोड के साथ प्रति माह 1 मिलियन पृष्ठों की सेवा कर सकते हैं, लेकिन एक बार जब आप प्लगइन्स और फ़ोटो जोड़ना शुरू करते हैं, तो मुझे लगता है कि आपको "1GB" लाइनोड की आवश्यकता होगी। मेरे दृष्टिकोण से, यह बहुत अधिक रैखिक है: यदि पृष्ठदृश्य दोहरे हैं, तो बस आपके लिनोइड का आकार दोगुना है।

अस्वीकरण: मैं लिनोड के लिए काम नहीं करता।


अद्यतन (~ 2 साल बाद) जब से आप PHP के साथ एक पृष्ठ के कुछ हिस्सों को कैश करना चाहते हैं, यहां एक सरल समाधान है जो मैं उपयोग करता हूं जो आश्चर्यजनक रूप से तेज है। मैं प्रति सेकंड 1/100 वीं के भीतर प्रति पृष्ठ कई अलग-अलग हिस्सों / भागों को कैच कर रहा हूं। रामडिस्क की तरह लगता है यह और भी तेज कर सकता है, लेकिन यह मेरी जरूरतों के लिए बहुत तेज है:

$cache_file = "./cache/portion-1". $since; // maybe round() this $since timestamp
$cache_life = 1000; // seconds to keep this cached
$filemtime = filemtime($cache_file);  // returns FALSE if file does not exist
if (!$filemtime or (time() - $filemtime >= $cache_life)) {

    // heavy lifting starts
    $output = 'Heavy!';
    // heavy lifting ends

    if (!file_put_contents($cache_file,$output,LOCK_EX)) { echo 'error'; } // save the cache    
    echo $output;

} else { 

    // load from cache
    $output = file_get_contents($cache_file); 
    echo $output;        
} 

0

अंततः 3 चीजें हैं जो बड़े पैमाने पर वर्डप्रेस को धीमा कर देती हैं, और वे इसके लिए उबलते हैं:

  • होस्टिंग स्टैक - आपको नवीनतम सॉफ़्टवेयर के साथ एक अच्छे होस्ट की आवश्यकता है - PHP 7, Nginx, Varnish, Redis, fail2ban और PerconaDB सभी अच्छे विकल्प हैं
  • कोई टेबल स्कैन नहीं - कई प्लगइन्स शौकिया कोडर्स द्वारा लिखे गए हैं, जिन्हें यह भी पता नहीं है कि टेबल स्कैन क्या है। तालिका स्कैन से बचने के लिए दो चीजों की आवश्यकता होती है - एक प्रयोग करने योग्य सूचकांक और एक क्वेरी इस तरह से लिखी जाती है कि यह सूचकांक का उपयोग कर सके
  • PHP लूप्स के अंदर कोई या कुछ एसक्यूएल क्वेश्चन नहीं - कुछ प्लगइन कोड स्पष्ट रूप से केवल छोटी साइटों पर परीक्षण किए गए हैं, और एक कारण या किसी अन्य के लिए आपके डेटाबेस में प्रत्येक उत्पाद के माध्यम से लूप होगा और प्रत्येक उत्पाद / पोस्ट के लिए एक नया एसक्यूएल कॉल करें। आप आदर्श रूप से प्रति पृष्ठ 100 एसक्यूएल प्रश्नों से कम चाहते हैं - बहुत कुछ लगता है, लेकिन यह वास्तव में नहीं है और <100 के साथ आपको लगभग 200 एमटी का टीटीएफबी प्राप्त नहीं होगा।

एक बार जब आपके पास ऊपर जगह है, तो आप कैशिंग जोड़ सकते हैं - जैसे वार्निश, सीडीएन, पेज कैशिंग आदि।

यदि आपको स्केल करने की आवश्यकता है, तो आप डेटाबेस के लिए PerconaDB XtraDB और फ़ाइलों के लिए Unison का उपयोग करके एक क्लस्टर बना सकते हैं। इस तरह, आपके पास आपके wp-admin और cron धावक के रूप में 1 नोड हो सकता है, और एक लोड डांसर के पीछे वेब ट्रैफ़िक परोसने वाले अन्य नोड्स हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.