การใช้ TTL เป็น 0 หมายความว่า APC จะล้างแคชทั้งหมดเมื่อหน่วยความจำหมด ข้อผิดพลาดจะไม่ปรากฏขึ้นอีกต่อไป แต่ทำให้ APC มีประสิทธิภาพน้อยลง มันไม่มีความเสี่ยงไม่มีปัญหา "ฉันไม่ต้องการทำงานของฉัน" การตัดสินใจ APC ไม่ได้หมายถึงการใช้ในลักษณะนั้น คุณควรเลือก TTL ที่สูงเพียงพอเพื่อไม่ให้หน้าที่มีการเข้าถึงมากที่สุดหมดอายุ วิธีที่ดีที่สุดคือให้หน่วยความจำเพียงพอดังนั้น APC จึงไม่จำเป็นต้องล้างแคช
เพียงอ่านคู่มือเพื่อทำความเข้าใจวิธีใช้ ttl: http://www.php.net/manual/en/apc.configuration.php#ini.apc.ttl
วิธีแก้ปัญหาคือการเพิ่มหน่วยความจำที่จัดสรรให้กับ APC ทำได้โดยเพิ่ม apc.shm_size
ถ้า APC ถูกคอมไพล์เพื่อใช้ Shared Segment Memory คุณจะถูก จำกัด โดยระบบปฏิบัติการของคุณ พิมพ์คำสั่งนี้เพื่อดูขีด จำกัด ระบบของคุณสำหรับแต่ละเซ็กเมนต์:
sysctl -a | grep -E "shmall|shmmax"
หากต้องการจัดสรรหน่วยความจำเพิ่มเติมคุณจะต้องเพิ่มจำนวนเซ็กเมนต์ด้วยพารามิเตอร์ apc.shm_se segment
หาก APC ใช้หน่วยความจำ mmap คุณจะไม่มีขีด จำกัด จำนวนหน่วยความจำยังคงถูกกำหนดโดยอ็อพชัน apc.shm_size เดียวกัน
หากมีหน่วยความจำไม่เพียงพอบนเซิร์ฟเวอร์ให้ใช้ตัวเลือกตัวกรองเพื่อป้องกันไม่ให้ไฟล์ php ที่เข้าถึงบ่อยไม่ถูกแคช
แต่อย่าใช้ TTL เป็น 0
ตามที่ c33s กล่าวไว้ให้ใช้ apc.php เพื่อตรวจสอบ config ของคุณ คัดลอกไฟล์จากแพ็คเกจ apc ไปยังโฟลเดอร์เว็บแล้วชี้เบราว์เซอร์ไปที่มัน คุณจะเห็นว่ามีการจัดสรรอะไรบ้างและใช้อย่างไร กราฟต้องคงที่หลังจากผ่านไปหลายชั่วโมงหากมีการเปลี่ยนแปลงอย่างสมบูรณ์ในการรีเฟรชแต่ละครั้งแสดงว่าการตั้งค่าของคุณผิดพลาด (APC กำลังล้างข้อมูลทุกอย่าง) จัดสรรหน่วยความจำมากกว่าที่ APC ใช้เป็นค่ารักษาความปลอดภัย 20% และตรวจสอบเป็นประจำ
ค่าเริ่มต้นของการอนุญาตเพียง 32MB นั้นต่ำมาก PHP ได้รับการออกแบบเมื่อเซิร์ฟเวอร์มีขนาด 64MB และสคริปต์ส่วนใหญ่ใช้ไฟล์ php หนึ่งไฟล์ต่อหน้า ปัจจุบันโซลูชันเช่น Magento ต้องการไฟล์มากกว่า 10k (~ 60Mb ใน APC) คุณควรอนุญาตให้มีหน่วยความจำเพียงพอเพื่อให้ไฟล์ php ส่วนใหญ่ถูกแคชไว้เสมอ ไม่ใช่เรื่องเสีย แต่การเก็บ opcode ใน ram จะมีประสิทธิภาพมากกว่าการมี php ดิบที่สอดคล้องกันในแคชไฟล์ ทุกวันนี้เราสามารถหาเซิร์ฟเวอร์เฉพาะที่มีหน่วยความจำ 24Gb ได้ในราคาเพียง $ 80 / เดือนดังนั้นอย่าลังเลที่จะอนุญาตหลาย GB ให้กับ APC ฉันใส่ 2GB จาก 24GB บนเซิร์ฟเวอร์ที่โฮสต์ร้านค้า 5Magento และเว็บไซต์ wordpress ~ 40 แห่ง APC ใช้ 1.2GB นับ 64MB สำหรับการติดตั้ง Magento, 40MB สำหรับ Wordpress พร้อมปลั๊กอินบางตัว
นอกจากนี้หากคุณมีเว็บไซต์ developmentpment บนเซิร์ฟเวอร์เดียวกัน แยกออกจากแคช