Sử dụng TTL bằng 0 có nghĩa là APC sẽ xóa tất cả bộ đệm khi hết bộ nhớ. Lỗi không xuất hiện nữa nhưng nó làm cho APC kém hiệu quả hơn nhiều. Đó là một rủi ro, không có rắc rối, quyết định "Tôi không muốn làm việc của mình". APC không có nghĩa là được sử dụng theo cách đó. Bạn nên chọn một TTL đủ cao để các trang được truy cập nhiều nhất sẽ không hết hạn. Cách tốt nhất là cung cấp đủ bộ nhớ để APC không cần xóa bộ đệm.
Chỉ cần đọc hướng dẫn để hiểu cách sử dụng ttl: http://www.php.net/manual/en/apc.configuration.php#ini.apc.ttl
Giải pháp là tăng bộ nhớ được phân bổ cho APC. Làm điều này bằng cách tăng apc.shm_size.
Nếu APC được biên dịch để sử dụng Bộ nhớ phân đoạn chung, bạn sẽ bị giới hạn bởi hệ điều hành. Nhập lệnh này để xem giới hạn hệ thống của bạn cho từng phân đoạn:
sysctl -a | grep -E "shmall|shmmax"
Để sắp xếp thêm bộ nhớ, bạn sẽ phải tăng số lượng phân đoạn với tham số apc.shm_segments.
Nếu APC đang sử dụng bộ nhớ mmap thì bạn không có giới hạn. Dung lượng bộ nhớ vẫn được xác định bởi cùng tùy chọn apc.shm_size.
Nếu không đủ bộ nhớ trên máy chủ, thì hãy sử dụng tùy chọn bộ lọc để ngăn các tệp php ít truy cập thường xuyên hơn được lưu vào bộ nhớ cache.
Nhưng không bao giờ sử dụng TTL bằng 0.
Như c33s đã nói, sử dụng apc.php để kiểm tra cấu hình của bạn. Sao chép tệp từ gói apc vào trình duyệt web và trỏ trình duyệt tới nó. Bạn sẽ thấy những gì thực sự được phân bổ và làm thế nào nó được sử dụng. Các biểu đồ phải duy trì ổn định sau nhiều giờ, nếu chúng thay đổi hoàn toàn ở mỗi lần làm mới, điều đó có nghĩa là thiết lập của bạn sai (APC đang xóa mọi thứ). Phân bổ ram nhiều hơn 20% so với những gì APC thực sự sử dụng làm giới hạn bảo mật và kiểm tra nó một cách thường xuyên.
Mặc định chỉ cho phép 32 MB là cực kỳ thấp. PHP được thiết kế khi các máy chủ có dung lượng 64 MB và hầu hết các tập lệnh đang sử dụng một tệp php trên mỗi trang. Ngày nay, các giải pháp như Magento yêu cầu hơn 10 nghìn tệp (~ 60Mb trong APC). Bạn nên cho phép đủ bộ nhớ để hầu hết các tệp php luôn được lưu trữ. Không có gì lãng phí, sẽ hiệu quả hơn khi giữ opcode trong ram thay vì có php thô tương ứng trong bộ đệm tệp. Ngày nay, chúng ta có thể tìm thấy các máy chủ chuyên dụng có bộ nhớ 24Gb với mức giá thấp nhất là $ 80 / tháng, vì vậy đừng ngần ngại cho phép vài GB cho APC. Tôi đặt 2GB trong số 24GB trên một máy chủ lưu trữ các cửa hàng 5Magento và ~ 40 trang web wordpress, APC sử dụng 1,2GB. Đếm 64MB cho cài đặt Magento, 40 MB cho Wordpress với một số plugin.
Ngoài ra, nếu bạn có các trang web phát triển trên cùng một máy chủ. Loại trừ chúng khỏi bộ nhớ cache.