अपाचे 2 एमपीएम प्रीफॉर्क मॉड्यूल मापदंडों की ठीक ट्यूनिंग


4

मैं 3 जीबी रैम के साथ लिनक्स डेबियन मशीन (कर्नेल 2.6, डेबियन 5) पर अपाचे 2 चला रहा हूं। इस सर्वर को प्रति 24 घंटे में लगभग 200 मिलियन अनुरोधों को संभालना चाहिए। क्या कोई मुझे बता सकता है कि निम्नलिखित mpm_prefork मापदंडों के मूल्य क्या होने चाहिए जो इस लोड को सूट कर सकते हैं? मैं जो पैरामीटर सेट करना चाहता हूं वे हैं:

  1. ServerLimit
  2. StartServers
  3. MinSpareServers
  4. MaxSpareServers
  5. ज्यादा ग्राहक
  6. MaxRequestsPerChild

मैं यह भी जानना चाहूंगा कि क्या होना चाहिए: MaxKeepAliveRequestsपैरामीटर।

अग्रिम में 10x

जवाबों:


2

इससे पहले कि आप एक लाख अनुरोधों को सर्वर करने में सक्षम होंगे, आप राम से बाहर निकलने वाले हैं। आप अपाचे क्लाइंट प्रोसेस कितने बड़े हैं? मैंने 10 एमबी (शायद 25 एमबी) से अधिक की शर्त लगाई। यदि क्लाइंट केवल 10MB थे, तो आप शायद केवल 250 ग्राहकों को संभाल सकते हैं।

तेज़-सीटी के साथ लाइटटैप की कोशिश कर सकते हैं।

आपके प्रश्न का उत्तर देने के लिए आपको मेरे लिए mpm.conf फ़ाइलें /etc/apache2/modules.d/00_mpm.conf संपादित करने की आवश्यकता होगी, लेकिन gentoo पर im तो यह आपके द्वारा उपयोग किए जा रहे linux के डिस्ट्रो के आधार पर थोड़ा भिन्न होगा। लेकिन उस विन्यास में प्रीफ़ॉर्क के लिए एक धर्म है

यहाँ 12Gb के साथ एक सर्वर के लिए मेरा है RAM। (और हम 20 समान सर्वर की साइटों को लोड करते हैं)

<IfModule mpm_prefork_module>
        StartServers            100
        MinSpareServers          5
        MaxSpareServers         200
        ServerLimit             375
        MaxClients              375
        MaxRequestsPerChild      0
</IfModule>

मैं यह उल्लेख करना चाहूंगा कि इस सर्वर का उद्देश्य एक्सेस लॉग में अनुरोधों को लॉग करना है ताकि वे किसी अन्य सर्वर द्वारा डाउनलोड किए जाएं और डेटाबेस में लिखा जाए। जो अनुरोध वे स्वयं करते हैं वे किसी भी सर्वर साइड स्क्रिप्ट को लागू नहीं करते हैं, ऐसा क्या ... प्रत्येक apache2 प्रक्रिया की औसत मेमोरी लगभग है। 9 एमबी

टिप्पणी के लिए धन्यवाद। कभी-कभी यह बताने में कठिनाई होती है कि क्या अनुरोधकर्ता खड़े नहीं होते हैं कि वे क्या मांग रहे हैं या वे कुछ पागल विशेष स्थिति में हैं जो समझाने में अभी बहुत समय लगेगा। क्या डिस्ट्रो ऑफ लाइनक्स आप उपयोग कर रहे हैं?
द डिजिटल निंजा

मैं डेबियन का उपयोग कर रहा हूं। मैं फिर से उल्लेख करना चाहूंगा कि यह सर्वर उद्देश्य केवल इन अनुरोधों को लॉग करना है। और यह सब वहाँ है।

मुझे नहीं पता कि मैं एक अपाचे सर्वर के माध्यम से ग्राहकों को निर्देशित करके अनुरोध को लॉग करने के बारे में जाऊंगा। क्यों एक सर्वर अन्य webservers से access_log परिमार्जन नहीं है?
डिजिटल निंजा

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