Magento Derleyicisini ne zaman kullanmalıyım


44

Genellikle insanların Magento'nun derleyici özelliğini kullandıklarından bahsettiğini görüyorum.

Asla yapmam ve merak ediyorum, hangi durumlarda kullanmanız gerektiğini ve o zaman ne kadar performans kazanacağınızı merak ediyorum.

[YASAL UYARI]: Yakın zamanda bununla ilgili bir düzenleme önerisi aldığım için. Bu soru magento2 di-compile ile ilgili değil, magento2 ile ilgili değil.


1
Derleyici ile kriterlerimi görün: byte.nl/blog/should-i-use-the-magento-compiler
Willem

1
apc config eksik, ayrıca şimdi opcache modülümüz mevcut sürümlerde mevcut ve artık apc ile çalışan desteklenen bir php sürümü yok. Yazılım değişir, çözümler ve geçici çözümler de değişir.
Flyingmana

Yanıtlar:


43

[YASAL UYARI] Bu cevap sadece Magento 1'deki derleyici içindir, Magento 2'deki derleyicinin tamamen farklı bir amacı / etkisi vardır.

Asla kullanmamalısın.

Çünkü PHP, çok sayıda dosya içeren uygulamaları geliştirmek için birkaç mekanik geliştirdi.

Anlamı: Geçerli php sürümündeki php opCache, doğru bir şekilde yapılandırılmışsa, daha iyi performans iyileştirmeleri sağlar. Örneğin, önbelleğe alınmış dosyalar için yeterince yüksek bir sınır kullanmak. Ayrıca opCache, daha derin bir seviyede çalışan, sonra aoe_classpathcache ve performansı daha da artıran dosya sistemine erişen fonksiyonlar için iyileştirmelere sahiptir.

Sonunda, derleyici olmadan birkaç ms'den daha fazlasına ihtiyaç duymayan bir otomatik yüklemeye sahibiz. Derleyicinin performansa zarar verdiği durumlar bile vardır. Derleyiciyi kullanan uygulamalarda hata ayıklamak için çılgınca zaman alan sorunlardan bahsetmiyorum bile.

Ayrıca, opCache yalnızca otomatik yüklemeyi iyileştirmez, dosya sistemi işlevi optimizasyonları bile şablon ve düzen dosyası yüklemesini iyileştirir.

http://php.net/manual/en/opcache.configuration.php


2
Öyleyse, derlemeyi devre dışı bırakmayı, derlenmiş dosyaları silmeyi ve bunun yerine opCache'yi kullanmayı mı önerdiniz?
perissf

1
özetlerseniz, evet
Flyingmana

3
Derleyici, 1.4.1.1, 1.4.2.0 ve muhtemelen 1.5.1.0 sürümleriyle en kullanışlı olan bir çamurdur. 1.5.1.0 ile başlayarak, kod optimizasyonu daha az etkili hale geldi. 1.6 veya 1.7 civarında bir yerlerde, biri A / B testi yaptı ve sistemi belirli sunucu yapılandırmaları altında yavaşlatabileceğini buldu.
Fiasco Labs,

3
PHP yorumlayıcısının iki ayarının sistem erişiminiz varsa veya barındırma sağlayıcınızın değişiklik yapmasını sağlayabilirseniz yapılabilecek bazilyonlarca dosyaya yardımcı olması için -> realpath_cache_size=64kve realpath_cache_ttl=3600. 64k tatlı nokta gibi görünüyor, insanlar daha fazla tavsiye etti, ancak performans testleri bunun bir hafıza kaybı olduğunu gösteriyor.
Fiasco Labs,

2
@FiascoLabs "A / B testi" verilerinize bir bağlantı / kaynağınız var mı? Bunu görmek güzel olurdu.
Aram Papazyan

11

"Magento Derleyicisini ne zaman kullanmalıyım"

Bazı nedenlerden dolayı sisteminizde kurulu bir PHP Accelerator yoksa (olası değil ama mümkün)

Magento'nun çok eski bir versiyonunu kullanıyorsanız (gerçekten olmamalısınız)

Neden devre dışı bırakmalısın?

Fiasco Labs'ın yukarıdaki yorumuna tamamen katılıyorum. Magento sürüm numaranızı vermediyseniz, bu, derleyiciyi mağazanızdaki php hızlandırıcısına (PHP-APC vb. Gibi) sahip bir sistemde etkinleştirirseniz, 1.6.1 üzerindeki tüm magento (CE) sürümleri için geçerlidir. , yönetici sayfalarından doğrudan müşteriye kontroller ölçülebilir şekilde yavaşlar, daha da kötüsü, magento bağlantısında bulduğunuz birçok eklenti / mod derleyici etkinken düzgün çalışmaz.

Kısacası, 2014'te derleyiciyi etkinleştirmek için hiçbir zaman iyi bir neden yoktur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.