PHP OPcache - PHP scriptlərini RAM-da kompilyasiya olunmuş halda saxlayır. Hər sorğuda fayl oxumaq və kompilyasiya etmək lazım deyil - sürət 2-3x artır.
PHP necə işləyir (OPcache-siz)?
- Brauzer sayt.az açır
- Server PHP faylını diskdən oxuyur
- PHP tərcüməçisi faylı tokenize edir
- Parse + Compile mərhələsi - opcode yaranır
- Opcode icra olunur
- HTML brauzerə qaytarılır
OPcache ilə
- Brauzer sayt.az açır
- OPcache RAM-dan opcode-u tapır → birbaşa icra olunur
- HTML qaytarılır
1-2-3-4 addımları atılır - hər sorğuda 50-200ms qənaət.
OPcache niyə vacibdir?
WordPress üçün
WordPress səhifə 100+ PHP fayl yükləyir. Hər biri kompilyasiya etmək lazım olsa idi - 500ms əlavə yük.
WooCommerce üçün
500+ fayl. OPcache olmadan səhifə 2-3s, OPcache ilə 0.6s.
OPcache aktivləşdirmək
cPanel-də
cPanel → "Select PHP Version" → "Extensions" → "opcache" işarəni qoyun → "Save".
php.ini-də
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.validate_timestamps = 1
opcache.revalidate_freq = 2OPcache parametrləri
memory_consumption
Neçə MB RAM ayrılsın. WordPress üçün 128 MB, WooCommerce üçün 256 MB.
max_accelerated_files
Cache edilə bilən fayl sayı. WordPress 10K, WooCommerce 20K.
validate_timestamps
Fayl dəyişəndə cache yenilənsinmi? Development = 1, production = 0 (max sürət).
revalidate_freq
Neçə saniyədə bir fayl yoxlanılsın. 2 saniyə standartdır.
OPcache JIT (PHP 8+)
JIT nədir?
Just-In-Time compilation - opcode-u machine code-a çevirir. CPU-da birbaşa icra olunur.
JIT-i aktivləşdirmək
opcache.jit_buffer_size = 100M
opcache.jit = 1255JIT WordPress-i sürətləndirirmi?
Az - WordPress IO-bound yox CPU-bound (DB sorğuları çox). Heavy computation üçün (machine learning) JIT 2-3x sürət verir.
ionCube ilə uyğunluq
WiseCP, WHMCS kimi ionCube-li tətbiqlərdə JIT-i söndürün (opcache.jit = 0) - silent crash.
OPcache cache təmizləmək
cPanel terminaldan
php -r "if (function_exists(opcache_reset)) opcache_reset();"OPcache GUI plagini
WordPress üçün OPcache plagini - admin-də cache statusu və təmizləmə düyməsi.
OPcache statistikası
opcache.php faylı yarat:
<?php phpinfo(); ?>"OPcache" bölməsində: hit rate, used memory, cached files sayı.
Hit rate nə olmalıdır?
95%+ - əla. 90%+ yaxşı. 80%-dən aşağı - memory artırın və ya cache statisikasına baxın.
OPcache və Redis fərqi
OPcache - PHP kodu cache. Redis - data cache (DB nəticələri, sessions). Hər ikisi birgə istifadə olunur.
Hostinq.az-da
Bütün hosting paketlərində OPcache 256 MB hazır aktiv. WordPress saytları default 95%+ hit rate.
Hostinq.az hosting - PHP 8.3 + OPcache + JIT (qeyri-ionCube) hazır.