मेरे पास कुछ उच्च यातायात वेबसाइटों के साथ एक Nginx + PHP5-FPM सर्वर है।PHP5-FPM स्थिर, गतिशील या मांग पर?
PHP5-एफ पी एम पूल config की मेरी समझ से, मैं समझ गया कि:
स्थिर = तुरंत एन बच्चे प्रक्रियाओं बनाने के लिए तो वे खोले जाने के लिए/फिर से खोला, वे पहले से ही खोल रहे हैं की जरूरत नहीं है इस्तेमाल किया जा सकता और जब आवश्यक हो तब इस्तेमाल किया जा सकता है, अन्यथा वे "सो रहे हैं"।
गतिशील = सीमित संख्या में बाल प्रक्रियाओं को खोलने के लिए उपयोग किया जा सकता है और फिर सीमा तक पहुंचने पर फिर से स्पॉन किया जा सकता है (न्यूनतम/अधिकतम सर्वर)।
ondemand = मैं बनाने के लिए बाल प्रक्रियाओं की अधिकतम संख्या निर्दिष्ट करता हूं, और फिर आवश्यकता होने पर, बाल आवश्यकताएं मांग पर बनाई जाती हैं, और जब आवश्यकता नहीं होती है, तो कम स्मृति उपयोग को बनाए रखने के लिए, लेकिन कुछ मिलीसेकंड के प्रतिक्रिया समय को बढ़ाते हैं।
एक उच्च यातायात वर्डप्रेस वेबसाइट के साथ अपने परीक्षण से, मैंने देखा है कि:
अगर मैं का उपयोग "स्थिर", वेबसाइट यकीन है कि तेजी से करने के लिए है और समवर्ती कनेक्शन की तुरंत उच्च संख्या का प्रबंधन कर सकते हैं, लेकिन स्मृति हमेशा बढ़ जाती है इसका उपयोग, और एन घंटों के बाद यह लगभग कुल रैम उपलब्ध है। तो मुझे समय-समय पर (हर 1 घंटा) एक cronjob का उपयोग करना होगा /etc/init.d/php5-fpm रीलोड के साथ PHP5-FPM पुनः लोड करें।
यदि मैं "गतिशील" का उपयोग करता हूं तो यह कम रैम का उपयोग करता है लेकिन एन समवर्ती कनेक्शन के बाद लगातार 502 त्रुटियां होती हैं (लेकिन शायद मैंने इसे ठीक से कॉन्फ़िगर नहीं किया है)।
यदि मैं "ऑनडमंड" का उपयोग करता हूं तो साइट थोड़ी धीमी होती है (जैसे + 50/100ms प्रतिक्रिया समय), लेकिन यह बहुत अधिक रैम का उपयोग किए बिना सभी उच्च ट्रैफ़िक को संभाल सकता है।
तो मेरा निजी निष्कर्ष यह होगा कि "ऑनडमंड" वास्तव में कम/नियंत्रित स्मृति उपयोग के संदर्भ में उपयोग करने का सबसे अच्छा तरीका है, प्रतिक्रिया समय में केवल 5050 मीटर एमएस है, लेकिन मेरे मामले में यह नहीं है एक बड़ी समस्या।
क्या मेरी धारणाएं सही हैं?
सिडेनोट: आप PHP-FPM को क्रॉन का उपयोग किए बिना मेमोरी रिसाव के आसपास काम करने के अनुरोधों के बाद 'pm.max_requests' सेट कर सकते हैं, और हां ओंडेमांड पर्याप्त मात्रा में श्रमिकों के साथ तुरंत शुरू हो गया है। –
"लेकिन स्मृति हमेशा इसका उपयोग बढ़ाती है" --- आप इसे वास्तव में कैसे देखते हैं? – zerkms
आंद्रे मैंने देखा कि pm.max_requests के साथ भी 50 तक सेट स्मृति मेमोरी बढ़ जाती है (वर्डप्रेस + कस्टम थीम + 20 प्लगइन्स लोड)। – user2972081