2009-07-13 10 views
9

कारण मैं पूछता हूं क्योंकि top का उपयोग करते समय मुझे एपीसी जैसी किसी भी चीज़ की प्रक्रिया नहीं दिखाई देती है। तो मुझे लगता है कि स्मृति उपयोग को अपाचे प्रक्रिया में माना जाएगा।एपीसी अपने ओपोड और उपयोगकर्ता परिवर्तनीय कैश कहां स्टोर करता है?

क्या यह मामला है, और क्या इसका मतलब यह है कि स्मृति एपीसी का उपयोग प्रत्येक अपाचे प्रक्रिया में दोहराया जाता है, जिससे मूल रूप से इसे आवंटित किए गए संभावित रूप से अधिक स्मृति मिलती है?

यदि ऐसा होता है तो यह मामला बेहतर समाधान होगा, भले ही इसका उपयोग एकाधिक लोडबैन्डेड सर्वर पर नहीं किया जा रहा हो?

उत्तर

0

एक ओपोड कैश होने के अलावा, एपीसी साझा स्मृति भी प्रदान करता है। यह दृढ़ता से सुझाव देता है कि इसकी अपनी आंतरिक साझा स्मृति प्रणाली memcached के समान है।

12

एपीसी अपने ओपोड कैश को स्टोर करने के लिए साझा मेमोरी का उपयोग करता है। Mod_php के मामले में यह स्मृति सभी अपाचे प्रक्रियाओं के बीच साझा की जाती है। इसलिए 5 अपाचे प्रक्रियाएं होने पर भी 30 एमबी कैश केवल 30 एमबी लेता है।

हालांकि, mod_php का उपयोग करते समय, प्रत्येक अपाचे प्रक्रिया बहुत सारे संसाधनों को बर्बाद कर देती है क्योंकि प्रत्येक प्रक्रिया में PHP दुभाषिया होता है। इस प्रकार, जब अपाचे स्थिर सामग्री (एचटीएमएल, सीएसएस, जेएस, छवि फाइल, आदि) परोसता है तो यह पूर्ण PHP दुभाषिया के साथ एक प्रक्रिया का उपयोग करता है। इसके आस-पास पहुंचने के लिए, कुछ लोग mod_fastcgi या mod_fcgi के माध्यम से फास्टसीजीआई का उपयोग करते हैं। Using an opcode cache with FastCGI थोड़ा सा ट्रिकियर बन जाता है।

वर्तमान में memcache को opcode कैश के रूप में उपयोग करने का कोई तरीका नहीं है। यहां तक ​​कि अगर वहां था, तो यह शायद वांछित से धीमा होगा।

संबंधित मुद्दे