Menggunakan TTL 0 berarti bahwa APC akan membersihkan semua cache saat kehabisan memori. Kesalahan tidak muncul lagi tetapi itu membuat APC jauh lebih efisien. Ini bukan risiko, tidak ada masalah, keputusan "Saya tidak ingin melakukan pekerjaan saya". APC tidak dimaksudkan untuk digunakan seperti itu. Anda harus memilih TTL yang cukup tinggi sehingga halaman yang paling banyak diakses tidak akan kedaluwarsa. Yang terbaik adalah memberikan memori yang cukup sehingga APC tidak perlu membersihkan cache.
Cukup baca manual untuk memahami bagaimana ttl digunakan: http://www.php.net/manual/en/apc.configuration.php#ini.apc.ttl
Solusinya adalah menambah memori yang dialokasikan untuk APC. Lakukan ini dengan meningkatkan apc.shm_size.
Jika APC dikompilasi untuk menggunakan Memori Segmen Bersama, Anda akan dibatasi oleh sistem operasi Anda. Ketik perintah ini untuk melihat batas sistem Anda untuk setiap segmen:
sysctl -a | grep -E "shmall|shmmax"
Untuk mengalokasikan lebih banyak memori, Anda harus menambah jumlah segmen dengan parameter apc.shm_segments.
Jika APC menggunakan memori mmap maka Anda tidak memiliki batas. Jumlah memori masih ditentukan oleh opsi apc.shm_size yang sama.
Jika tidak ada cukup memori di server, maka gunakan opsi filter untuk mencegah cache file yang jarang diakses diakses.
Tapi jangan pernah gunakan TTL 0.
Seperti c33s katakan, gunakan apc.php untuk memeriksa konfigurasi Anda. Salin file dari paket apc ke folder web dan arahkan browser ke sana. Anda akan melihat apa yang benar-benar dialokasikan dan bagaimana menggunakannya. Grafik harus tetap stabil setelah jam, jika mereka sepenuhnya berubah pada setiap refresh, maka itu berarti bahwa pengaturan Anda salah (APC membilas semuanya). Alokasikan ram 20% lebih banyak dari apa yang benar-benar digunakan APC sebagai margin keamanan, dan periksa secara teratur.
Default hanya mengizinkan 32MB sangat rendah. PHP dirancang ketika server 64MB dan sebagian besar skrip menggunakan satu file php per halaman. Saat ini solusi seperti Magento memerlukan lebih dari 10k file (~ 60Mb di APC). Anda harus mengizinkan memori yang cukup sehingga sebagian besar file php selalu di-cache. Ini bukan pemborosan, lebih efisien untuk menyimpan opcode di ram daripada memiliki php mentah yang sesuai dalam cache file. Saat ini kita dapat menemukan server khusus dengan memori 24Gb untuk $ 80 / bulan, jadi jangan ragu untuk mengizinkan beberapa GB untuk APC. Saya mengeluarkan 2GB dari 24GB di server yang menampung 5 toko Magento dan ~ 40 situs web wordpress, APC menggunakan 1.2GB. Hitung 64MB untuk instalasi Magento, 40MB untuk Wordpress dengan beberapa plugin.
Juga, jika Anda memiliki situs web development di server yang sama. Kecualikan mereka dari cache.