Mặc định mỗi request, PHP làm lại vòng: đọc file .php → parse → compile ra opcode → execute → vứt opcode. Parse + compile lặp lại mỗi lần là lãng phí.
OPcache lưu opcode đã compile trong shared memory, nên các request sau bỏ qua hẳn bước đọc/parse/compile → chạy thẳng opcode. Đây là tối ưu có ảnh hưởng lớn nhất, gần như bắt buộc trên production.
Các tham số chính:
- opcache.memory_consumption — dung lượng cache opcode.
- opcache.max_accelerated_files — số file cache tối đa (đặt ≥ tổng số file dự án).
- opcache.validate_timestamps — production nên tắt để khỏi stat file mỗi request; đổi lại phải reset OPcache khi deploy (opcache_reset() hoặc restart PHP-FPM).
- opcache.revalidate_freq — khoảng thời gian check lại khi validate bật (thường cho dev).
Bổ trợ: Preloading (opcache.preload) nạp sẵn class framework vào bộ nhớ lúc khởi động; PHP 8 JIT nằm ngay trên OPcache.