سؤال

فيما يلي رابط لكيفية تشغيل APC الخاص بي: [تمت إزالته

كما ترون ، فإنه يملأ بسرعة كبيرة ويتجاوز عدد ذاكرة التخزين المؤقت أكثر من 1000 في بعض الأحيان

يستخدم موقع الويب الخاص بي WordPress.

لاحظت أنه في كل مرة أقوم فيها بنشر جديد أو تحرير منشور ، يحدث شيئان.

1) إعادة تعيين ذاكرة APC "المستخدمة" 2) أحصل على مجموعة كبيرة من الشظايا

لقد حاولت إعطاء المزيد من الذاكرة إلى APC (512 ميغابايت) ولكن بعد ذلك يتعطل في بعض الأحيان ، يبدو أن 384 هو الأفضل. لديّ أيضًا وظيفة cron تقوم بإعادة تشغيل Apache ، وتطهير جميع APC من الشظايا والذاكرة المستخدمة ، كل 4 ساعات. مرة أخرى ، تعطل أباتشي الخاص بي إذا كان APC يعمل لفترة طويلة من الزمن ، أعتقد بسبب تراكم الشظية.

هل يجب أن أستخدم مرشحات APC. وتصفية بعض الأشياء التي لا ينبغي تخزينها مؤقتًا؟

أنا حقًا مبتدئ في هذا النوع من الأشياء ، لذلك إذا تمكن شخص ما من شرحه مع التعليمات الكاملة ، شكرًا جزيلاً لك !!!

هل كانت مفيدة؟

المحلول

يجب أن يعتني APC TTL بتراكم الشظية. عادةً ما أقوم بتعيينه على 7200. أقوم بتشغيله على VPs صغيرة مع WordPress والإعدادات الخاصة بي هي:

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

ستحصل أيضًا على مزيد من الاستفادة منه باستخدام WordPress المدمج في ذاكرة التخزين المؤقت وكتب Mark Jaquith جيدًا حقًا إسقاط في البرنامج المساعد يجب أن يساعد ذلك أيضًا في بعض مشكلات التجزئة عند حفظ أو تحرير منشور.

نصائح أخرى

أنا أعمل كمسؤول أنظمة Linux ، يقوم خادم WordPress بتشغيل 5 تثبيت WordPress مختلف. إذا كنت تقوم بتشغيل واحد فقط ، فسوف أعلق على التكوينات التي يجب مراعاتها.

إصدارات APC / PHP ، 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 الحديثة ، فيجب أن تكون SHM كبيرة بشكل كافٍ. إذا كان البحث صغيرًا جدًا حول كيفية تعيين إدخالات sysctl.conf ، فيمكنك التحقق من هذا القبيل.

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

استثناء عند التشغيل على بعض BSD ، أو غيرها من المضيفين ، أو المضيفين المُدارين الذين لا تتحكمون فيه. هناك عيوب لعدم وجود شريحة متجاورة ، اقرأ تفاصيل APC لهذه المعلومات.

2. apc.enable_cli = 1

سيء سيء سيء ، هذا هو تصحيح فقط! في كل مرة تقوم فيها بتشغيل PHP-Cli ، يقوم بمسح ذاكرة التخزين المؤقت APC.

3. apc.max_file_size = 10m

غير ضروري وسخيف! إذا كان لديك ملف كبير ، فسيأكل 1/3 من هذا 32 مترًا صغيرًا. على الرغم من أنك تحدد 3 ، إلا أنها لا تتصرف فقط مثل شريحة واحدة كبيرة في ثلاث قطع. بغض النظر عن WP ، لا يحتوي حتى على ملفات PHP واحدة حتى بالقرب من هذا الحجم.

'آمل أن أكون قد ساعدت الناس في apc.conf الخاصة بهم.

يجب عليك حقًا تعيين APC.Stat = 0 على خادم الإنتاج الخاص بك وسيمنع APC من الذهاب فعليًا إلى IO للتحقق مما إذا كان قد تم تغيير الملف.

تحقق من الوثائق أولاً: http://php.net/manual/en/apc.configuration.php

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top