Makale Rehberi
Hız hayati önem taşır; bir web sitesi bir saniyenin bile gerisinde kalırsa, kullanıcılar hemen geri dönüp siteyi terk eder.
Bu yüzden HestiaCP OPcache'i optimize etmek, PHP kullanan herhangi bir web sitesinin başarısı veya başarısızlığı için çok önemlidir.
OPcache nedir?
OPcache, PHP'de yerleşik bir bayt kodu önbellekleme motorudur.
İşlevi basittir: Derlenmiş PHP betiğini bellekte önbelleğe alır ve tekrar erişildiğinde yeniden derlemek yerine doğrudan önbelleği kullanır.
Bu, web sitesinin yanıt hızını artırır, işlemci yükünü azaltır ve sunucu üzerindeki baskıyı anında hafifletir.
PHP'nin resmi dokümanına göre:
"OPcache, komut dosyası derlemesinin tekrarlanmasını önleyerek yürütme süresini kısaltıp önemli performans iyileştirmeleri sağlar."
Özetle: OPcache bir PHP hızlandırıcıdır.
HestiaCP'de OPcache'i neden optimize etmeliyiz?

HestiaCP, birçok kişinin VPS veya özel sunucuları yönetmek için kullandığı hafif bir kontrol panelidir.
OPcache varsayılan olarak etkinleştirilmiştir, ancak parametreler genellikle ihtiyatlı bir şekilde belirlenir.
Gerekli ayarlamalar yapılmadığı takdirde, performans artışı sınırlı kalacaktır.
Örneğin:
4 çekirdekli ve 8 GB belleğe sahip bir sunucuda, varsayılan OPcache belleği yalnızca 64 MB'tır ve önbelleğe alınan dosya sayısı sadece 4000'dir.
Bu orta boy içindir. WordPress Bir web sitesi için bu kesinlikle yeterli değil.
Sonuç olarak, önbellek sürekli olarak temizleniyor ve bu da performansın sürekli olarak dalgalanmasına neden oluyor.
Mevcut OPcache durumunu kontrol edin.
Aşağıdaki komutu çalıştırın:
php -i | grep opcache.enable
Şuna benzer sonuçlar göreceksiniz:
- opcache.enable => On: Bu, PHP-FPM'de OPcache'in etkinleştirildiği anlamına gelir.
- opcache.enable_cli => Kapalı: Komut satırı modunda etkinleştirilmemiş.
- opcache.enable_file_override => Off: Dosya geçersiz kılma işlevi etkinleştirilmedi.
Bu, OPcache'in halihazırda çalışıyor olmasına rağmen, optimizasyon için hala yer olduğu anlamına gelir.
PHP yapılandırma dosyalarını düzenleyin
HestiaCP'de PHP yapılandırma dosyasının yolu genellikle şöyledir:
/etc/php/8.x/fpm/php.ini
CLI modunu etkinleştirmek için:
/etc/php/8.x/cli/php.ini
[opcache] bölümünü bulun ve aşağıdaki parametreleri ekleyin veya değiştirin:
[opcache] ; 启用 OPcache opcache.enable=1 opcache.enable_cli=1 ; 内存与缓存设置 opcache.memory_consumption=256 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=10000 ; 文件更新检测 opcache.validate_timestamps=0 opcache.revalidate_freq=60 ; 其他优化参数 opcache.save_comments=1 opcache.fast_shutdown=1 opcache.enable_file_override=1
Parametre detayları ve optimizasyon mantığı
opcache.bellek_tüketimi=256
OPcache'e 256 MB bellek ayırmak, orta ve büyük ölçekli web siteleri için uygundur.
Küçük web siteleri için bunu 128 MB olarak ayarlayabilirsiniz.opcache.interned_strings_buffer=16
Yinelenen dizelerin kullanımını azaltmak için 16 MB'lık bir dize önbelleği sağlar.opcache.max_accelerated_files=10000
WordPress ve eklenti ortamında önbelleğe alınacak dosya sayısının en az 10000 olması önerilir.opcache.revalidate_freq=60
Sık G/Ç işlemlerini azaltmak için dosyalar her 60 saniyede bir güncelleme açısından kontrol edilir.opcache.enable_cli=1
CLI önbelleklemesini etkinleştirmek, Artisan ve WP-CLI gibi komut satırı araçlarını çalıştırmak için uygundur.opcache.enable_file_override=1
OPcache'in dosya sistemi önbelleğini devralmasına izin verin, bu da disk erişimini daha da azaltır.- opcache.validate_timestamps=0
- Gerçek zamanlı algılamayı devre dışı bırakınDosya sistemi G/Ç işlemlerini azaltın ve performansı artırın.
Ancak bu, PHP dosyalarında değişiklik yaptıktan sonra önbelleği manuel olarak temizlemeniz (PHP hizmetini yeniden başlatmanız) gerektiği anlamına gelir.
Yapılandırmayı değiştirdikten sonra, değişikliklerin geçerli olması için PHP hizmetini yeniden başlatmanız gerekir.
sudo systemctl restart php<版本>-fpmBu parametrelerin birleşimi, web sitesinin yüksek eşzamanlılık altında bile istikrarlı kalmasını sağlar.
PHP-FPM hizmetini yeniden başlatın.
Değişiklikleri yaptıktan sonra, hizmeti yeniden başlatmayı unutmayın:
sudo systemctl restart php8.x-fpm
Ardından tekrar çalıştırın:
php -i | grep opcache
Parametrelerin güncellendiği doğrulandı.
Üretim ortamları için en iyi uygulamalar
Üretim ortamlarında, OPcache optimizasyonu yalnızca parametre ayarlamasından ibaret değildir; aynı zamanda aşağıdaki stratejileri de içerir:
1. Dağıtım sırasında önbelleği temizleyin.
Her kod güncellemesinden sonra OPcache temizlenmelidir; aksi takdirde daha eski bir sürüm yüklenebilir.
CI/CD betiğine aşağıdakileri ekleyebilirsiniz:
<?php opcache_reset();
Alternatif olarak, bunu dağıtım süreci içinde gerçekleştirebilirsiniz:
systemctl reload php8.x-fpm
2. Sık sık temizlemekten kaçının.
Önbelleğin çok sık temizlenmesi performans düşüşüne yol açabilir.
Düzenli aralıklarla temizlik yapmak yerine, yalnızca kod güncellendiğinde temizlik yapılması önerilir.
3. OPcache kullanımını izleyin.
`php -i | grep opcache` komutunu kullanarak veya Opcache Control Panel eklentisini kurarak önbellek isabet oranını gerçek zamanlı olarak kontrol edebilirsiniz.
%95'in üzerinde bir başarı oranı, makul bir yapılandırmayı gösterir.
Zend'in resmi performans testlerine göre, OPcache'i etkinleştirmek PHP komut dosyası yürütme hızını 3 kata kadar artırabilir ve CPU kullanımını %50 azaltabilir.
Bu, mistik bir teori değil; sağlam verilere dayanıyor.
Sonuç: Benim Görüşlerim ve Önemli Alıntılar
Bence OPcache, bir web sitesi için adeta bir "turboşarj" gibidir. Onsuz PHP, turboşarjı olmayan bir araba gibi yavaş çalışır ve yakıt israf eder.
OPcache'i optimize etmek sadece teknik bir detay değil, aynı zamanda web sitesinin işleyişi için stratejik bir tercihtir.
Çünkü hız, dönüşüm oranına eşittir ve performans, rekabet gücüne eşittir.
Önemli alıntı: Bir web sitesinin geleceği, kodunun ne kadar gösterişli olduğunda değil, kullanıcıların göz kırpmaya bile vakit bulamayacak kadar hızlı yanıt verebilmesinde yatar.
Bu nedenle, sunucuların verimsiz döngülerde kaynak israf etmesine izin vermeyi bırakın.
HestiaCP OPcache'inizi şimdi optimize edin ve web sitenizin performansını artırın.
Üretim ortamınız için en iyi örnek OPcache yapılandırma şablonunu yazmamı ister misiniz? Bunu daha sonra doğrudan kopyalayıp php.ini dosyasında kullanabilirsiniz.
Umut Chen Weiliang Blogu ( https://www.chenweiliang.com/ Burada paylaşılan "HestiaCP'de OPcache Nasıl Optimize Edilir? Opcode önbellekleme ve PHP kodunu derleyerek web sitenizin daha hızlı çalışmasını sağlayın" başlıklı makale size yardımcı olabilir.
Bu makalenin bağlantısını paylaşmaya hoş geldiniz:https://www.chenweiliang.com/cwl-34197.html
