सर्वर प्रदर्शन
सर्वर प्रदर्शन सीधे आपकी WCPOS एप्लिकेशन की गति और प्रतिक्रियाशीलता को प्रभावित करता है। POS कई REST API कॉल करता है, इसलिए सर्वर प्रतिक्रिया समय प्राथमिक बाधा है — POS की गति काफी हद तक होस्टिंग की गुणवत्ता पर निर्भर करती है। यह गाइड आपको अंतर्निहित मैट्रिक्स और समस्या निवारण तकनीकों का उपयोग करके सर्वर प्रदर्शन को मॉनिटर, निदान, और ऑप्टिमाइज़ करने में मदद करता है।
न्यूनतम सर्वर आवश्यकताएं
उत्पादन में प्रतिक्रियाशील POS के लिए, हम कम से कम इनकी अनुशंसा करते हैं:
साझा होस्टिंग में अक्सर POS वर्कलोड के लिए बहुत कम PHP वर्कर और बहुत कम मेमोरी होती है, जो कई समवर्ती API कॉल करते हैं। उत्पादन POS उपयोग के लिए, एक VPS या प्रबंधित WordPress होस्ट की दृढ़ता से अनुशंसा की जाती है। WordPress.com प्रबंधित होस्टिंग में REST API संगतता समस्याएं भी ज्ञात हैं (कुछ उपयोगकर्ता बड़े कैटलॉग से केवल 9–10 उत्पाद देखते हैं) — पूर्ण संगतता के लिए स्व-होस्टेड WordPress.org की अनुशंसा की जाती है।
समुदाय-सत्यापित ऑप्टिमाइज़ेशन स्टैक
उपयोगकर्ता इस संयोजन के साथ सर्वोत्तम POS प्रदर्शन की रिपोर्ट करते हैं:
- MariaDB 11.4 (WooCommerce वर्कलोड के लिए MySQL से तेज़)
- HPOS सक्षम (नीचे देखें)
- LiteSpeed या Redis ऑब्जेक्ट कैशिंग
- NVMe स्टोरेज
- PHP OPcache सक्षम
503 त्रुटियाँ
503 Service Unavailable एक POS बग नहीं है — इसका अर्थ है कि सर्वर अनुरोध को संभाल नहीं सका। जाँचें:
- सर्वर लोड और उपलब्ध संसाधन
- PHP वर्कर (वे समाप्त हो सकते हैं)
- PHP मेमोरी सीमा — 256 MB या अधिक तक बढ़ाएं
- आपके वेब होस्ट के सर्वर लॉग (अपने होस्ट से संपर्क करें; वे वह देख सकते हैं जो एप्लिकेशन नहीं देख सकता)
WooCommerce संस्करण संगतता
एक WooCommerce अपडेट कभी-कभी POS को तोड़ सकता है। हमेशा पहले एक स्टेजिंग साइट पर WooCommerce अपडेट करें, और WCPOS को अद्यतन रखें ताकि इसमें नवीनतम संगतता फिक्स शामिल हों।
ज्ञात समस्याएं:
- WooCommerce 10.5.0 — POS में उत्पाद लोडिंग को तोड़ दिया (लक्षण: केवल ~10 उत्पाद दिखते हैं; बारकोड स्कैनिंग और खोज काम करना बंद कर देते हैं) और एक प्रायोगिक उत्पाद कैश पेश किया जो postmeta फूलना और मेमोरी समाप्ति का कारण बन सकता है। फिक्स: WCPOS को नवीनतम संस्करण में अपडेट करें (इसमें फिक्स और एक क्लीनअप माइग्रेशन शामिल है), या WooCommerce को 10.4.3 पर वापस रोल करें।
यदि एक WooCommerce अपडेट POS को तोड़ देता है, तो WooCommerce को पिछले संस्करण पर वापस रोल करें (प्लगइन के WordPress.org पृष्ठ पर Advanced टैब के माध्यम से) और इसकी रिपोर्ट करें।
सर्वर मैट्रिक्स को समझना
WCPOS प्रत्येक डेटा फेच ऑपरेशन (उत्पाद, आदेश, ग्राहक, आदि) के साथ स्वचालित रूप से सर्वर प्रदर्शन मैट्रिक्स इकट्ठा करता है। आप इन मैट्रिक्स को लॉग्स स्क्रीन में देख सकते हैं।
सामान्य सर्वर मैट्रिक्स
{
"total": "24692",
"execution_time": "76.64 ms",
"server_load": "[15.20605469,16.16357422,16.76806641]"
}
विभाजन:
total- संसाधित रिकॉर्ड की संख्या (24,692 उत्पाद आईडी)execution_time- ऑपरेशन पूरा करने में लगने वाला समय (76.64 मिलीसेकंड)server_load- 1, 5, और 15 मिनट के लिए सर्वर लोड औसत
सर्वर लोड की व्याख्या
सर्वर लोड विभिन्न समय अवधि में औसत प्रणाली लोड का प्रतिनिधित्व करता है:
- पहला मान - 1 मिनट का औसत (15.21)
- दूसरा मान - 5 मिनट का औसत (16.16)
- तीसरा मान - 15 मिनट का औसत (16.77)
लोड की व्याख्या
सर्वर लोड मान भ्रामक हो सकते हैं और इन्हें सावधानी से व्याख्या किया जाना चाहिए:
सर्वर लोड औसत हमेशा प्रदर्शन के साथ सीधे संबंधित नहीं होते हैं। उच्च लोड मान (15+) वाला सर्वर यदि उसके पास पर्याप्त संसाधन और अच्छी तरह से ऑप्टिमाइज़ किया गया हो तो बहुत प्रतिक्रियाशील हो सकता है। लोड मानों के बजाय निष्पादन समय पर ध्यान केंद्रित करें।
सामान्य दिशानिर्देश:
- CPU कोर के सापेक्ष लोड - 8-कोर सर्वर पर 8.0 का लोड पूर्ण उपयोग को दर्शाता है
- स्थायी बनाम अस्थायी - संक्षिप्त स्पाइक सामान्य हैं, स्थायी उच्च लोड की स्थिति समस्या का संकेत हो सकती है
- प्रदर्शन अधिक महत्वपूर्ण है - उच्च लोड वाला प्रतिक्रियाशील सर्वर निम्न लोड वाले धीमे सर्वर से बेहतर होता है
क्या देखना है:
- समय के साथ बढ़ते निष्पादन समय
- स्पष्ट बिना लगातार बढ़ता लोड
- उच्च लोड और धीमे निष्पादन समय दोनों एक साथ
प्रदर्शन मानक
निष्पादन समय दिशानिर्देश
| ऑपरेशन | अच्छा | स्वीकार्य | खराब | महत्वपूर्ण |
|---|---|---|---|---|
| उत्पाद फेच | < 100ms | 100-500ms | 500ms-2s | > 2s |
| आदेश निर्माण | < 200ms | 200-800ms | 800ms-3s | > 3s |
रिकॉर्ड की मात्रा विचार
निष्पादन समय को रिकॉर्ड की मात्रा के साथ तर्कसंगत रूप से बढ़ना चाहिए:
// Good scaling examples
{"total": "100", "execution_time": "15.2 ms"} // 0.15ms per record
{"total": "1000", "execution_time": "89.4 ms"} // 0.09ms per record
{"total": "10000", "execution_time": "234.1 ms"} // 0.02ms per record
// Poor scaling examples
{"total": "100", "execution_time": "500.0 ms"} // 5.0ms per record
{"total": "1000", "execution_time": "8000.0 ms"} // 8.0ms per record
प्रदर्शन समस्याओं का निदान
चरण 1: लॉग्स की निगरानी करें
- नेविगेशन ड्रॉअर से लॉग्स खोलें
- धीमी प्रक्रिया को करें (उत्पाद समकालन, आदेश बनाना, आदि)
- संबंधित लॉग प्रविष्टि की तलाश करें
- मैट्रिक्स देखने के लिए संदर्भ का विस्तार करें
चरण 2: मैट्रिक्स का विश्लेषण करें
उच्च निष्पादन समय + उच्च सर्वर लोड = सर्वर संसाधन समस्या
{
"total": "5000",
"execution_time": "3500.0 ms",
"server_load": "[12.45, 11.23, 10.87]"
}
समाधान: सर्वर संसाधनों में वृद्धि करें या सर्वर कॉन्फ़िगरेशन को ऑप्टिमाइज़ करें
उच्च निष्पादन समय + सामान्य सर्वर लोड = प्लगइन/डेटाबेस समस्या
{
"total": "1000",
"execution_time": "2800.0 ms",
"server_load": "[1.23, 1.45, 1.67]"
}
समाधान: धीमे प्लगइनों की पहचान करें या डेटाबेस क्वेरीज़ को ऑप्टिमाइज़ करें
सामान्य निष्पादन समय + उच्च सर्वर लोड = सामान्य सर्वर ओवरलोड
{
"total": "2000",
"execution_time": "150.0 ms",
"server_load": "[8.90, 9.12, 8.45]"
}
समाधान: अन्य प्रक्रियाओं से सर्वर लोड कम करें या संसाधनों को अपग्रेड करें
सामान्य प्रदर्शन समस्याएँ
1. अपर्याप्त सर्वर संसाधन
लक्षण:
- लगातार उच्च सर्वर लोड (> 4.0 अधिकांश सर्वरों पर)
- सभी ऑपरेशनों में लंबे निष्पादन समय
- बार-बार समय समाप्त होना
समाधान:
- CPU अपग्रेड करें - अधिक कोर समवर्ती अनुरोधों को बेहतर ढंग से संभालते हैं
- RAM बढ़ाएं - डिस्क I/O को कम करता है और कैशिंग में सुधार करता है
- SSD स्टोरेज का उपयोग करें - डेटाबेस प्रदर्शन में नाटकीय सुधार करता है
- PHP सेटिंग्स को ऑप्टिमाइज़ करें - memory_limit, max_execution_time बढ़ाएं
2. धीमी डेटाबेस क्वेरीज़
लक्षण:
- सामान्य सर्वर लोड के साथ उच्च निष्पादन समय
- विशेष रूप से धीमा उत्पाद/आदेश फेचिंग
- लॉग में डेटाबेस से संबंधित त्रुटि कोड
समाधान:
- WooCommerce HPOS सक्षम करें - सबसे बड़ा डेटाबेस प्रदर्शन सुधार
- ऑब्जेक्ट कैशिंग का उपयोग करें - Redis या Memcached यदि आपके होस्ट से उपलब्ध हो
- WordPress को अपडेट रखें - कोर अपडेट अक्सर डेटाबेस ऑप्टिमाइज़ेशन शामिल करते हैं
- पोस्ट पुनरावृत्तियों को सीमित करें - wp-config.php में
define('WP_POST_REVISIONS', 3);जोड़ें
3. प्लगइन हस्तक्षेप
लक्षण:
- प्लगइन अपडेट के बाद अचानक प्रदर्शन गिरावट
- विशिष्ट ऑपरेशंस अन्य की तुलना में बहुत धीमी
- सामान्य सर्वर लोड के साथ उच्च निष्पादन समय
समस्या समाधान:
- स्टेजिंग पर परीक्षण करें - WooCommerce और WCPOS को छोड़कर सभी प्लगइनों को बंद करें
- बासलाइन मापें - न्यूनतम प्लगइनों के साथ निष्पादन समय रिकॉर्ड करें
- धीरे-धीरे सक्षम करें - दोषियों की पहचान के लिए एक-एक करके प्लगइनों को जोड़ें
- प्लगइन हुक की जाँच करें - WooCommerce क्रियाओं में हुक करने वाले प्लगइनों की तलाश करें
सामान्य समस्याग्रस्त प्लगइन:
- उत्पाद संचालन के दौरान भारी SEO प्लगइन्स
- जटिल इन्वेंट्री प्रबंधन प्रणाली
- रीयल-टाइम एनालिटिक्स/ट्रैकिंग प्लगइन्स
- खराब कोडित कस्टम प्लगइन्स
4. वर्डप्रेस/WooCommerce कॉन्फ़िगरेशन
लक्षण:
- असंगत प्रदर्शन
- लॉग में मेमोरी से संबंधित त्रुटियाँ
- धीमे प्रशासन डैशबोर्ड
ऑप्टिमाइजेशन चेकलिस्ट:
- PHP संस्करण - बेहतर प्रदर्शन के लिए PHP 8.0+ का उपयोग करें
- WooCommerce HPOS - उच्च प्रदर्शन आदेश संग्रहण सक्षम करें (नीचे देखें)
- WordPress कैशिंग - यदि उपलब्ध हो तो ऑब्जेक्ट कैशिंग सक्षम करें
- WooCommerce सेटिंग्स - उत्पाद छवि आकारों को ऑप्टिमाइज़ करें
WooCommerce उच्च प्रदर्शन आदेश संग्रहण (HPOS)
HPOS WooCommerce के लिए सबसे महत्वपूर्ण प्रदर्शन सुधारों में से एक है। यह आदेशों को वर्डप्रेस पोस्ट टेबल के बजाय कस्टम डेटाबेस तालिकाओं में संग्रहीत करता है, उन दुकानों के लिए प्रदर्शन में नाटकीय सुधार करता है जिनके पास कई आदेश हैं।
लाभ:
- तेज़ आदेश क्वेरीज़ - आदेशों को ऑप्टिमाइज़्ड डेटाबेस संरचना में संग्रहीत किया गया
- डेटाबेस लोड कम हुआ - आदेशों को पोस्ट/पृष्ठों से अलग करता है
- बेहतर स्केलेबिलिटी - बड़ी संख्या में आदेशों को कुशलता से संभालता है
- प्रशासन प्रदर्शन में सुधार - तेज़ आदेश प्रबंधन स्क्रीन
कैसे सक्षम करें:
WooCommerce > Settings > Advanced > Featuresपर जाएं- "उच्च प्रदर्शन आदेश संग्रहण" सक्षम करें
- माइग्रेशन प्रक्रिया का पालन करें
अधिक जानें:
सर्वर निगरानी सर्वश्रेष्ठ प्रथाएं
1. नियमित प्रदर्शन जांचें
- साप्ताहिक समीक्षाएँ - प्रदर्शन रुझानों के लिए लॉग की जाँच करें
- बासलाइन माप - सामान्य निष्पादन समय रिकॉर्ड करें
- चोटी समय निगरानी - उच्च ट्रैफ़िक अवधि के दौरान निगरानी करें
2. प्रदर्शन चेतावनियाँ सेट करें
इन चेतावनी संकेतों की निगरानी करें:
- निष्पादन समय > 1000ms लगातार
- सर्वर लोड > 5.0 लंबे समय तक
- लॉग में बार-बार समय समाप्त होने की त्रुटियाँ
3. क्षमता योजना
विकास रुझानों को ट्रैक करें:
- रिकॉर्ड की संख्या वृद्धि - उत्पाद, आदेश, ग्राहक
- प्रदर्शन गिरावट - निष्पादन समय कैसे स्केल करता है
- संसाधन उपयोग - CPU, मेमोरी, डिस्क उपयोग
सर्वर ऑप्टिमाइजेशन रणनीतियाँ
1. वर्डप्रेस/WooCommerce सर्वोत्तम प्रथाएँ
HPOS सक्षम करें:
- WooCommerce के लिए सबसे प्रभावी प्रदर्शन सुधार
- विवरण के लिए HPOS अनुभाग देखें
PHP कॉन्फ़िगरेशन (अपने होस्ट से परामर्श करें):
memory_limit = 512M
max_execution_time = 300
max_input_vars = 3000
वर्डप्रेस कॉन्फ़िगरेशन:
// In wp-config.php - limit post revisions
define('WP_POST_REVISIONS', 3);
// Enable WordPress debug logging if needed
define('WP_DEBUG_LOG', true);
2. होस्टिंग-स्तरीय ऑप्टिमाइजेशन
ऑब्जेक्ट कैशिंग:
- Redis या Memcached उपलब्धता के बारे में अपने होस्ट से पूछें
- कई प्रबंधित वर्डप्रेस होस्ट इसे स्वचालित रूप से प्रदान करते हैं
PHP संस्करण:
- महत्वपूर्ण प्रदर्शन सुधारों के लिए PHP 8.0+ का उपयोग करें
- अधिकांश होस्ट आसान PHP संस्करण स्विचिंग की अनुमति देते हैं
सर्वर संसाधन:
- पर्याप्त RAM सुनिश्चित करें (न्यूनतम 1GB, अधिमानतः 2GB+)
- SSD स्टोरेज पारंपरिक ड्राइवों की तुलना में बहुत बेहतर डेटाबेस प्रदर्शन प्रदान करता है
होस्टिंग-विशिष्ट नोट्स
कुछ होस्ट और CDN को POS को WooCommerce REST API तक पहुंचने देने के लिए कॉन्फ़िगरेशन की आवश्यकता होती है:
| होस्ट / सेवा | समस्या | फिक्स |
|---|---|---|
| GoDaddy | वेबसाइट फ़ायरवॉल /wp-json/ REST API कॉल को अवरुद्ध करता है ("Received 'undefined'" जैसी त्रुटियाँ) | Website Security > Firewall > Settings > Access Control > Allow URL Paths → /wp-json/ जोड़ें |
| WP Engine | REST API को स्पष्ट रूप से सक्षम करना होगा | REST API सक्षम करें; यदि आवश्यक हो तो उनके फ़ायरवॉल में API एंडपॉइंट व्हाइटलिस्ट करें |
| Cloudflare | REST API अनुरोधों को अवरुद्ध कर सकता है, और API प्रतिक्रियाओं को कैश कर सकता है | फ़ायरवॉल नियम जाँचें; /wp-json/* के लिए कैश को बायपास करने के लिए एक पेज नियम जोड़ें |
| WordPress.com | REST API / उत्पाद-लोडिंग संगतता समस्याएं (केवल 9–10 उत्पाद दिखते हैं) | पूर्ण संगतता के लिए स्व-होस्टेड WordPress.org का उपयोग करें |
| साझा होस्टिंग | समवर्ती POS कॉल के लिए बहुत कम PHP वर्कर / कम मेमोरी | एक VPS या प्रबंधित WordPress होस्ट पर जाएं |
सुरक्षा प्लगइन (Wordfence, आदि) REST API को समान तरीकों से अवरुद्ध कर सकते हैं — पूरी सूची और फिक्स के लिए प्लगइन संघर्ष देखें।
HTTP 414 — URI बहुत लंबा
बड़े कार्ट, या चेकआउट URL में शामिल एक्सेस टोकन, सर्वर की URL-लंबाई सीमा को पार कर सकते हैं (चेकआउट अनुरोध GET का उपयोग करता है)। यह ब्राउज़र-विशिष्ट हो सकता है और ब्राउज़र कैश से बदतर हो सकता है।
समाधान: पहले ब्राउज़र कैश साफ़ करें, फिर सर्वर की URL-लंबाई सीमा बढ़ाएं:
- Apache:
httpd.confमेंLimitRequestLine 65536 - Nginx:
nginx.confमेंlarge_client_header_buffers 4 65536; - यदि आपके पास कॉन्फ़िग एक्सेस नहीं है, तो अपने होस्टिंग प्रदाता से इसे समायोजित करने के लिए कहें।
मदद कब लें
यदि:
- सर्वर लोड लगातार > 8.0 ऑप्टिमाइजेशन प्रयासों के बावजूद
- साधारण कार्यों के लिए निष्पादन समय > 5000ms
- लॉग में बार-बार मेमोरी त्रुटियाँ दिखाई देना
- डेटाबेस क्वेरी > 2 सेकंड का समय ले रही हैं
उन्हें प्रदान करें:
- आपके लॉग से सर्वर मैट्रिक्स
- सक्रिय प्लगइनों की सूची
- सर्वर विनिर्देश (CPU, RAM, स्टोरेज प्रकार)
- वर्डप्रेस और WooCommerce संस्करण