0 TTL kullanılması, APC'nin bellek bittiğinde tüm önbelleği temizleyeceği anlamına gelir . Hata artık görünmüyor, ancak APC'yi çok daha az verimli hale getiriyor. Risk yok, sorun yok, "işimi yapmak istemiyorum" kararı. APC bu şekilde kullanılmak üzere tasarlanmamıştır. En çok erişilen sayfaların süresinin dolmaması için yeterince yüksek bir TTL seçmelisiniz. En iyisi, APC'nin önbelleği temizlemesine gerek kalmaması için yeterli bellek vermektir.
Ttl'nin nasıl kullanıldığını anlamak için kılavuzu okuyun: http://www.php.net/manual/en/apc.configuration.php#ini.apc.ttl
Çözüm, APC'ye ayrılan belleği artırmaktır. Apc.shm_size değerini artırarak bunu yapın.
APC, Paylaşılan Segment Belleğini kullanmak üzere derlenirse, işletim sisteminiz tarafından sınırlandırılırsınız. Her segment için sistem sınırınızı görmek için bu komutu yazın:
sysctl -a | grep -E "shmall|shmmax"
Daha fazla bellek ayırmak için apc.shm_segments parametresiyle segment sayısını artırmanız gerekir.
APC mmap bellek kullanıyorsa, o zaman sınırınız yoktur. Bellek miktarı yine aynı seçenek apc.shm_size ile tanımlanır.
Sunucuda yeterli bellek yoksa, daha az sıklıkla erişilen php dosyalarının önbelleğe alınmasını önlemek için filtreler seçeneğini kullanın.
Ama asla 0 TTL kullanmayın.
C33s'in dediği gibi, yapılandırmanızı kontrol etmek için apc.php kullanın. Dosyayı apc paketinden bir web klasörüne kopyalayın ve tarayıcıyı ona gösterin. Gerçekte neyin tahsis edildiğini ve nasıl kullanıldığını göreceksiniz. Grafikler saatler sonra sabit kalmalıdır, eğer her yenilemede tamamen değişiyorlarsa, bu, kurulumunuzun yanlış olduğu anlamına gelir (APC her şeyi temizliyor). APC'nin gerçekten bir güvenlik marjı olarak kullandığından% 20 daha fazla ram ayırın ve bunu düzenli olarak kontrol edin.
Yalnızca 32MB'ye izin vermenin varsayılanı gülünç derecede düşüktür. PHP, sunucular 64MB iken ve çoğu komut dosyası sayfa başına bir php dosyası kullandığında tasarlandı. Günümüzde Magento gibi çözümler 10.000'den fazla dosya gerektirmektedir (APC'de ~ 60 Mb). Yeterli belleğe izin vermelisiniz, böylece php dosyalarının çoğu her zaman önbelleğe alınır. Bu bir israf değildir, opcode'u dosya önbelleğinde karşılık gelen ham php'ye sahip olmaktansa ram içinde tutmak daha etkilidir. Günümüzde ayda 80 $ 'a kadar düşük bir fiyata 24 Gb belleğe sahip özel sunucular bulabiliyoruz, bu nedenle birkaç GB'den APC'ye izin vermekten çekinmeyin. 5Magento mağazalarını ve ~ 40 wordpress web sitesini barındıran bir sunucuya 24 GB'ın 2 GB'ını koydum, APC 1,2 GB kullanıyor. Magento kurulumu için 64MB, bazı eklentilere sahip bir Wordpress için 40MB sayın.
Ayrıca, aynı sunucuda geliştirme web siteleriniz varsa. Onları önbellekten hariç tutun.