2010-08-25 13 views
17

यहाँ कैसे मेरे एपीसी चल रहा है के लिए एक लिंक है Wordpress।अनुकूलन एपीसी कैशिंग

मुझे लगता है कि हर बार जब मैं एक नई पोस्ट करता हूं या एक पोस्ट संपादित करता हूं, तो 2 चीजें होती हैं।

1) एपीसी मेमोरी "पुराना" फिर सेट करता है 2) मैं

मैं एपीसी के लिए और अधिक स्मृति (512 एमबी) देने की कोशिश की है टुकड़े की एक पूरी बहुत कुछ मिलता है, लेकिन फिर यह कभी कभी दुर्घटनाओं, ऐसा लगता है 384 सबसे अच्छा है । मेरे पास एक क्रोन नौकरी भी है जो अपाचे को फिर से शुरू करती है, टुकड़ों के सभी एपीसी को साफ़ करती है और हर 4 घंटे में मेमोरी का इस्तेमाल करती है। दोबारा, अगर एपीसी लंबे समय तक चल रहा है तो मेरा अपाचे दुर्घटनाग्रस्त हो जाता है, मुझे लगता है कि खंड निर्माण के कारण।

क्या मुझे apc. फ़िल्टर का उपयोग करना चाहिए और कुछ सामानों को फ़िल्टर करना चाहिए जिन्हें कैश नहीं किया जाना चाहिए?

मैं इस तरह की चीजों में वास्तव में शुरुआती हूं, इसलिए अगर कोई पूर्ण निर्देशों के साथ समझा सकता है, तो बहुत बहुत धन्यवाद !!!

उत्तर

10

एपीसी टीटीएल को टुकड़े का निर्माण करना चाहिए। मैं आमतौर पर 7200 के पर यह सेट मैं WordPress के साथ एक छोटे से VPS पर यह चला रहा हूँ और मेरा सेटिंग कर रहे हैं:

apc.enabled=1 
apc.shm_segments=3 
apc.shm_size=32 
apc.ttl=7200 
apc.user_ttl=7200 
apc.num_files_hint=2048 
apc.mmap_file_mask=/tmp/apc.XXXXXX 
apc.enable_cli=1 
apc.max_file_size=10M 

तुम भी का उपयोग करके इसे से एक बहुत अधिक लाभ भी मिलेगा वर्डप्रेस का वस्तु कैश में बनाया गया और मार्क जाक्विथ लिखा था एक वास्तव में अच्छा drop in plugin जो किसी पोस्ट को सहेजने या संपादित करते समय आपके कुछ विखंडन समस्याओं में भी मदद कर सकता है।

1

आपको वास्तव में अपने उत्पादन सर्वर पर apc.stat = 0 सेट करना चाहिए और यह एपीसी को वास्तव में आईओ में जाने से रोक देगा ताकि यह जांच सके कि फ़ाइल बदल दी गई है या नहीं।

चेक बाहर पहले प्रलेखन: http://php.net/manual/en/apc.configuration.php

41

मैं के रूप में एक लिनक्स सिस्टम व्यवस्थापक काम करते हैं, वर्डप्रेस सर्वर 5 अलग वर्डप्रेस स्थापित करता है चलाता है। यदि आप केवल एक चल रहे हैं, तो मैं विचार करने के लिए कॉन्फ़िगरेशन पर टिप्पणी करूंगा।

एपीसी/पीएचपी संस्करण, 3.1.9/5.3.7

यहाँ मेरा पूरा apc.conf है,

apc.enabled=1 
apc.shm_segments=1 

; I would try 32M per WP install, go from there 
apc.shm_size=128M 

; Relative to approx cached PHP files, 
apc.num_files_hint=512 

; Relative to approx WP size W/ APC Object Cache Backend, 
apc.user_entries_hint=4096 

apc.ttl=7200 
apc.use_request_time=1 
apc.user_ttl=7200 
apc.gc_ttl=3600 
apc.cache_by_default=1 
apc.filters 
apc.mmap_file_mask=/tmp/apc.XXXXXX 
apc.file_update_protection=2 
apc.enable_cli=0 
apc.max_file_size=2M 

;This should be used when you are finished with PHP file changes. 
;As you must clear the APC cache to recompile already cached files. 
;If you are still developing, set this to 1. 
apc.stat=0 

apc.stat_ctime=0 
apc.canonicalize=1 
apc.write_lock=1 
apc.report_autofilter=0 
apc.rfc1867=0 
apc.rfc1867_prefix =upload_ 
apc.rfc1867_name=APC_UPLOAD_PROGRESS 
apc.rfc1867_freq=0 
apc.rfc1867_ttl=3600 

;This MUST be 0, WP can have errors otherwise! 
apc.include_once_override=0 

apc.lazy_classes=0 
apc.lazy_functions=0 
apc.coredump_unmap=0 
apc.file_md5=0 
apc.preload_path 

@Chris_O, आपके विन्यास में कुछ में इष्टतम नहीं है पहलुओं।

1. apc.shm_segments = 3

आप एक आधुनिक Linux distro चलाते हैं तो आपका SHM sufficiantly बड़ा पर्याप्त होना चाहिए। यदि यह sysctl.conf प्रविष्टियों को सेट करने के लिए बहुत छोटी खोज है, तो आप इस तरह की जांच कर सकते हैं।

#Check Max Segment size 
cat /proc/sys/kernel/shmmax 

अपवाद जब कुछ बीएसडी के, या अन्य यूनिक्स की, या फिर कामयाब मेजबान आप नियंत्रित नहीं करते पर चल रहा है। एक संगत खंड नहीं होने के नुकसान हैं, उस जानकारी के लिए एपीसी के विवरण पढ़ें।

2. apc.enable_cli = 1

खराब बहुत ख़राब है, इस डिबग के लिए ही है! हर बार जब आप php-cli चलाते हैं, तो यह एपीसी कैश को साफ़ करता है।

3. apc.max_file_size = 10M

अनावश्यक और हास्यास्पद! यदि आपके पास बड़ी फ़ाइल थी, तो वह उस छोटे 32 एम एसएमएम का 1/3 खाएगा। भले ही आप 3 निर्दिष्ट करते हैं, वे सिर्फ तीन टुकड़ों में एक बड़े सेगमेंट की तरह कार्य नहीं करते हैं। भले ही डब्ल्यूपी में उस आकार के करीब भी एक PHP फाइल न हो।

'आशा है कि मैंने लोगों को उनके apc.conf के साथ मदद की।

+1

हाँ, आपने मदद की! – markus

+1

@TechZilla, मैं वाईआई ढांचे का उपयोग कर रहा हूं और यह कक्षाओं की आलसी लोडिंग का भारी उपयोग करता है, इसलिए मुझे apc.lazy_classes और apc.lazy_functions को सक्षम करना चाहिए, क्या इससे कुछ और प्रभावित हो सकता है? –

+2

@ उदय सावंत: एपीसी के लिए आलसी लोडिंग वाईआई ढांचे में आलसी लोडिंग से अलग है। वाईआई विशेष रूप से 'आलसी' तरीके से लिखा गया था, जबकि एपीसी के साथ यह आमतौर पर 'आलसी' लोड करने के बारे में है। खासकर वाईआई के साथ, मैं अभी भी उन कमी को '0' के रूप में रखूंगा। मैनुअल 'आलसी' लोडिंग बाहरी हस्तक्षेप के बिना सर्वश्रेष्ठ प्रदर्शन करने की संभावना है। मैं यह भी कहना चाहता हूं कि एपीसी की कमी अभी भी काफी नई है, और '1' सेट करने पर विचार करने से पहले मुझे अधिक परीक्षण/आंकड़े/परिपक्वता की आवश्यकता है। – TechZilla

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