PHP OPcache: PHP saytı 3x sürətləndirin

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)?

  1. Brauzer sayt.az açır
  2. Server PHP faylını diskdən oxuyur
  3. PHP tərcüməçisi faylı tokenize edir
  4. Parse + Compile mərhələsi - opcode yaranır
  5. Opcode icra olunur
  6. HTML brauzerə qaytarılır

OPcache ilə

  1. Brauzer sayt.az açır
  2. OPcache RAM-dan opcode-u tapır → birbaşa icra olunur
  3. 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 = 2

OPcache 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 = 1255

JIT 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.

Paylaş: