वर्डप्रेस कितने उपयोगकर्ता संभाल सकते हैं?


10

मैं WP में एक सदस्य लॉगिन साइट डिजाइन करना चाहता हूं, लेकिन मुझे संदेह है कि वर्डप्रेस एक ही डेटाबेस पर 40000 से अधिक उपयोगकर्ताओं को संभाल सकता है?

मुझे इस पर यकीन नहीं है इसलिए मैं यहां अपना काम कर रहा हूं। तो कृपया मेरी मदद करें अगर कोई भी इस बारे में ठीक से जानता है कि WP के साथ मेरी परियोजना को आगे बढ़ाना है।

जवाबों:



6

इसका उत्तर देने में थोड़ा देर हो गई, लेकिन प्रासंगिक खोज के लिए आने के बाद से यह किसी के लिए उपयोगी होगा:

वर्डप्रेस अपने डेटाबेस कार्यान्वयन के भाग के लिए ईएवी डेटाबेस स्कीमा का उपयोग करता है। यह डेटा और उपयोगकर्ताओं दोनों को प्रभावित करता है। (उन्हें अलग-अलग टेबल में रखा गया है)

इसे डेटा एंगल से समझाने के लिए:

Wp_posts में सीधे सुलभ पोस्ट से संबंधित विवरणों के साथ, प्रत्येक पोस्ट के लिए कई मेटा wp_postmeta तालिका में पोस्ट किया जाता है। पोस्ट (या कस्टम पोस्ट प्रकार) से संबंधित कोई भी डेटा।

इसके साथ समस्या यह है कि, यदि आपके पास पदों या पृष्ठों (या कस्टम पोस्ट / डेटा) के HEAPS हैं, तो मेटा में मिली किसी भी संपत्ति की खोज करना काफी धीमा हो जाता है। आप पहले मेटा तालिका में सभी प्रविष्टियों को आपके द्वारा आवश्यक मानदंडों के लिए खोजते हैं, फिर तालिका से संबंधित पोस्ट प्राप्त करें। किकर आपको अलग से EACH मानदंड खोजने की जरूरत है। तो टैग के लिए एक खोज, आपको 'मेटा 1' के लिए मान X के साथ पोस्ट मिलते हैं, फिर आप दूसरे मानदंड के लिए खोज करते हैं, कहते हैं, कस्टमक्रिटेरिया और कस्टमक्रिटेरिया में customcriteriavalue1 के साथ पोस्ट आईडी प्राप्त करें, और फिर इन के चौराहे को लें और फिर प्राप्त करने के लिए जाएं उस चौराहे के साथ पोस्ट टेबल से पोस्ट विवरण।

एक उदाहरण के रूप में - WooCommerce में 30,000 उत्पाद रखें, और आप नीचे दिए गए उत्तर में wp_postmeta में ~ 1,800,000 पंक्तियों के साथ समाप्त हो जाएंगे:

पोस्ट मेटा बनाम अलग डेटाबेस टेबल

तो, यह न केवल बहुत ही अयोग्य खोज करेगा (विशेषकर जब आप कई मानदंडों के लिए wp_postmeta पर स्वयं जुड़ते हैं), बल्कि 1,8 मिलिट्री रो में से एक पंक्ति को क्वेरी करने से भी प्रदर्शन हिट होता है।

ईएवी स्कीमा की कमी।

तो बहुत सारे पोस्ट के साथ, वर्डप्रेस डीबी कार्यान्वयन जटिल खोजों को बहुत धीमा कर देता है।

यदि आप कैशिंग प्लगइन्स का उपयोग करते हैं तो हज़ारों पोस्ट के साथ वर्डप्रेस साइट चलाना काफी उल्लेखनीय है। आप और भी जा सकते हैं। लेकिन खोज एक समस्या होगी।

............

उपयोगकर्ताओं के साथ भी ऐसा ही है - wp_usermeta समान EAV प्रारूप का भी उपयोग करता है। इसलिए यदि आपको बहुत सारे उपयोगकर्ता मिलते हैं, और बहुत सारे प्लगइन्स हैं जो wp_usermeta में विभिन्न उपयोगकर्ता डेटा संग्रहीत करते हैं, तो आप उसी प्रदर्शन को हिट करेंगे।

इतने सारे उपयोगकर्ताओं के साथ इसका उल्लेख नहीं करने की संभावना है कि आपके पास पहले से ही उच्च संख्या में पोस्ट होंगे - जब तक कि आपका ऐप ऐसा कुछ नहीं है जो उपयोगकर्ताओं (ज्यादातर सीआरएम आदि) के साथ करना है, और आप अपने उपयोगकर्ता डेटा को wp_usermeta के बजाय wp_postmeta में संग्रहीत करना चुनते हैं । (हालांकि अप्रत्याशित रूप से)।

.........

कुछ प्लगइन्स हैं जो इस मुद्दे पर जाने की कोशिश करते हैं, जैसे मेटा एक्सेलेरेटर।

https://wordpress.org/plugins/meta-accelerator/

यह प्लगइन आपके द्वारा चुने गए किसी भी पोस्ट प्रकार के लिए कोई डेटा लेता है और उन्हें फ्लैट टेबल में रखता है। यह बहुत खोज को गति देता है, और यह किसी भी विलक्षण मान को क्वेरी करने में भी तेजी लाता है।

लेकिन वह प्लगइन अभी अपनी प्रारंभिक अवस्था में है।

वैकल्पिक रूप से, आप सर्वर में ElasticSearch स्थापित कर सकते हैं और ElasticPress प्लगइन या किसी अन्य प्लगइन का उपयोग कर सकते हैं जो इस तरह की खोजों को गति देने के लिए वर्डप्रेस को एकीकृत करता है।


5

मुझे लगता है कि आप और भी अधिक उपयोगकर्ता चला सकते हैं। केवल एक चीज जो आपको सीमित कर सकती है वह है आपका सर्वर। आपको इसे ठीक से स्केल करना होगा, विशेष रूप से MySQL सर्वर को। उदाहरण के लिए wordpress.comऔर भी अधिक 40000 उपयोगकर्ता चलाता है, लेकिन वे स्थिरता, टन भार बैलेन्सर और आदि के लिए अतिरिक्त शक्तिशाली सिस्टम का उपयोग करते हैं।


4

सवाल यह होना चाहिए कि कितने उपयोगकर्ता वर्डप्रेस के बजाय php-mysql स्टैक हैंडल कर सकते हैं क्योंकि WP उन 2 प्रमुख प्रौद्योगिकियों पर विकसित किया गया है।

कहा जा रहा है कि, यदि आप सर्वर को उन्नत सर्वर तकनीकों से कॉन्फ़िगर कर सकते हैं, तो WP को एक अच्छे प्रबंधित सर्वर में होस्ट कर सकते हैं, डेटाबेस लोड और प्रश्नों को अनुकूलित कर सकते हैं, फिर WP जितने चाहें उतने सदस्यों को संभाल सकते हैं।

यदि आप एक साझा होस्टिंग में वर्डप्रेस स्थापित करते हैं, तो आप अपनी WP क्षमता को सीमित कर रहे हैं। दूसरी ओर यदि आप क्लाउड आधारित या समर्पित होस्टिंग सर्वर से स्वयं को चलाने वाले WP का प्रबंधन कर सकते हैं तो आपको वांछित परिणाम प्राप्त करना चाहिए।

वर्डप्रेस जटिल डेटाबेस खदानों को संभालने में सक्षम है। आप इस https://codex.wordpress.org/Installing_WordPress को देख सकते हैं

उन्नत एप्लिकेशन डेवलपमेंट फ्रेमवर्क के रूप में वर्डस्पेस का उपयोग करने से आप बड़े / जटिल डेटाबेस लोड को संभालने के लिए यू इंस्टाल कर सकते हैं।

आप इस श्रृंखला को भी देख सकते हैं: http://code.tutsplus.com/articles/using-wordpress-for-web-application-development-wp_user_query--wp-35015

आशा है कि यह मदद करेगा। धन्यवाद


रिकॉर्ड के लिए, PHPस्टैक का हिस्सा आपका मुद्दा नहीं होगा (फेसबुक एक संशोधित PHP के साथ बनाया गया है), लेकिन MySQLबहुत अच्छी तरह से सीमित हो सकता है।
दान

4

मुझे पता है कि आपके पास कितने वर्डप्रेस उपयोगकर्ता हो सकते हैं, इसके लिए बॉटल नेक पाया है जो कि यूजर्स के एडमिन पेज पर आने वाले PHP टाइमआउट है।

यह मानते हुए अपने सभी उपयोगकर्ताओं को कम से कम 1 भूमिका वे एक है है wp_capabilitiesमें प्रवेश user_metadataभूमिकाओं में से एक धारावाहिक सरणी के साथ तालिका।

व्यवस्थापक पृष्ठ एक गिनती दिखाता है कि प्रत्येक प्रकार की भूमिका वाले कितने उपयोगकर्ता हैं, इसलिए इसे हर एक wp_capabilities क्रमबद्ध सरणी को लोड करना है, जो कि अज्ञात है और फिर कुल गिनती दिखाते हैं।

जब मेरे पास 300,000 उपयोगकर्ता हैं तो उपयोगकर्ता पेज बनाने में 44 सेकंड लेता है।

इसका अर्थ है कि प्रत्येक उपयोगकर्ता पृष्ठ लोड समय में 0.00014666666 सेकंड जोड़ता है।

मान लें कि आपका PHP टाइमआउट 60 सेकंड का है जो लगभग 400,000 उपयोगकर्ताओं पर सीमा को लगा देगा।

हालांकि मैं काफी पुराना और धीमा सर्वर चला रहा हूं। तेजी से हार्डवेयर चीजों में बहुत सुधार होगा।


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