PHP kodunu bytecode'a donusturme
OPcache aktif ettik. PHP kodu normalde her istekte yeniden okunur ve derlenir. OPcache ile kod bir kez derlenir, sonucu bellekte saklanir.
Muzibu'da 2,847 PHP dosyasi var. Her sayfa yuklenmesinde bunlarin bir kismi calisir. OPcache olmadan her seferinde ayni islemi tekrarlarsiniz.
Sonuc: PHP 3-5 kat hizlandi. Sunucu %40 daha az CPU kullaniyor.
Ayarlar > Cache > OPcache Reset
Dashboard > Sistem > OPcache
Dashboard > OPcache > Dosya Listesi
Dashboard > Performans
PHP dosyası ilk kez çalıştırıldığında OPcache devreye girer. Kaynak kod derlenir, bytecode'a dönüştürülür ve bellekte saklanır.
PHP index.php çalıştırılır. Zend Engine dosyayı diskten okur ve lexer ile token'lara ayırır.
parser token'ları AST (Abstract Syntax Tree) yapısına dönüştürür. Sözdizimi kontrolü yapılır.
compiler AST'yi opcode'lara çevirir. Her PHP komutu için Zend VM instruction'ı oluşturulur.
OPcache derlenmiş bytecode'u shared memory segmentine yazar. opcache.memory_consumption MB ayrılır.
Aynı dosya tekrar istendiğinde disk okuma ve derleme atlanır. Bytecode direkt bellekten Zend VM'e gönderilir.
revalidate_freq saniyede bir dosya değişikliği kontrol edilir. Değiştiyse yeniden derlenir.
PHP kodunu bytecode'a dönüştürüp bellekte saklayan sistem.
PHP'nin anlayacağı ara dil. Kaynak kodu işlemeden çalışır.
PHP başlarken belirli dosyaların önceden yüklenmesi.
Just-In-Time compilation. PHP 8+ ile gelen ekstra hız.