PHP Derleyen?

10 Cevap php

Herkes gibi MMCache veya Zend Accelerator olarak PHP hızlandırıcıları ile deneyim çalışma var mı? Ben PHP faster web teknolojileri karşılaştırılabilir kılan bu birini kullanarak olmadığını bilmek istiyorum. Ayrıca, bu kullanmak için ticaret off vardır?

10 Cevap

Zend Optimizer ve MMCache (veya benzeri uygulamalar) tamamen farklı şeyler olduğunu unutmayın. Zend Optimizer optimize etmeye çalışır iken program opcode MMCache hafızasında komut önbelleğe ve önceden derlenmiş kodu yeniden olacaktır.

Ben bir süre önce bazı kriterler yaptım ve (gerçi Almanca) benim blog results bulabilirsiniz. Temel sonuçları:

Yalnız Zend Optimizer hiç yardımcı olmadı. Aslında benim komut iyileyicisi olmadan daha yavaştır.

When it comes to caches: * fastest: eAccelerator * XCache * APC

Ve: Bir opcode önbellek yüklemek İSTİYORUZ!

For example: alt text

Bu wordpress anasayfa 10.000 kez aramak aldı süresidir.

Edit: MEZUNLARI, eAccelerator bir iyimserlik kendisini içerir.

MMCache onaylanmaz. Ben de size (Memcache gibi) değişken depolama vermek her ikisi de, ya da tavsiye http://pecl.php.net/package/APC veya http://xcache.lighttpd.net/.

Her ikisi de ilginç ve daha sonra PHP motoru tarafından yürütülen ikili temsil içine kaynak kodunu derlemek beri hız artışı sağlayacaktır.

PHP (örneğin Facebook) ile çalışan herhangi bir büyük web sitesi MMCache gibi opcode önbellek sistemi çeşit çalışıyor.

Sorun onlar sizin sisteminize bağlı kurmak çok kolay değil olmasıdır.

Aslında idam ve ne kadar uzun yürütme alır ne kadar PHP kodu bağlı onlar gerçekten büyük bir kazan olabilir. Bu kesinlikle zarar olacak değil, ama gördüğünüz kazanç çok zaman şu anda nereye harcandığını bağlıdır.

btw mmcache şimdi farklı bir proje içine yuvarlandı olmuştur, ben adını unuttum ama Google size söyleyecektir.

Ben üretim sunucularında APC kullanmak ve kutunun dışında oldukça iyi çalışıyor. Derlemek ve PHP eklemek ve bunun için neler bırakılan fazla verdiği yoktur. Ben sadece istatistikleri yorumlayan her seferinde bir süre içinde kontrol ama ana dosya (yönlendiriciler, denetleyicileri, vb) tüm MVC bir çok kullanırım beri bu kod derlenmiş ve oldukça verimli çalışır kalır çok nadiren bir gün için günlük bazda değişim .

şu anda biz apc, kullanmak, ücretsiz ve basit bir tak ve bizim canlı sunucularında oynamak. Proje büyüklüğü arttıkça, özellikle de bizim site için çok büyük bir performans artışı sağladı. Ben de kod güncellendi eğer kontrol etmez bu yüzden apc.stat özürlü var, bu yüzden biz Apache'yi yeniden canlı sitede kodunu güncellemek için gerektiğinde.

Ben APC kullanmak ve yüksek bir önbellek isabet oranı korumak varsa o ölçüde CPU azaltmak ve bir uygulama sunucusu üzerinde I / O yük olduğunu kanıtlamak olabilir. Bu derlemek zorunda sizi kurtarır değil sadece, hiç diskten php dosyalarını okumak zorunda sizi kaydedebilirsiniz. Tek bir sayfayı oluşturmak için hızını düşürür ve sunucu işleyebilir saniyede istekleri artar (yani baytkodlarına ana bellekten doğrudan hizmet, bu yüzden süper hızlı edilmiştir.)

Eğer RedHat'i veya CentOS kullanıyorsanız, APC yüklemeden süper basittir:

yum install php-devel httpd-devel php-pear
pecl install apc 
echo "extension=apc.so" > /etc/php.d/apc.ini
# if you're using SELinux:
chcon "system_u:object_r:textrel_shlib_t" /usr/lib/php/modules/apc.so
/etc/init.d/httpd restart

Sen olumsuzlukları sordu. Sadece olumsuz, bazı bellek gerektirir. APC üzerinde varsayılan 30MB, ama ayarlanabilir, ve daha fazla bellek biraz maliyeti artan hız ve yanıt oranı ile kendisi için öder.

Blam adlı test WordPress tarafından yapılan tüm DB aramaları dahil. Daha az DB çağrı yapıyoruz, sen opcode zula performans kazancı daha da dramatik olacak göreceksiniz.

Ben biraz geri gün (2004-imsi) Zend Hızlandırıcı kullanılır. Kesinlikle bazı önemli performans onunla işe yarayabilir kodu kazanır verdi, ama ne yazık ki ben kullanıyordum sistemi oldukça sık dinamik kodunu yüklemek ve daha sonra (Zend Hızlandırıcı anda ile çok yapamadık ki, bunu eval tasarlanmış ve ben ' d tahminim hala) olamaz.

Aşağı tarafta, biz kesinlikle bazı önbelleğe alma sorunları gördüm (kod değişikliği olurdu, ama bir nedenle veya başka bir değişikliği ile derlenmiş sürümü senkronizasyon). Ben bu sorunlar büyük olasılıkla artık çözüme kavuşturuldu düşünün.

Her neyse, ben herhangi bir sabit karşılaştırma numaraları yok, ve kesinlikle karşılaştırma için farklı ortamlarda aynı sistemi yazmadım, ama sistemlerin büyük çoğunluğu için, PHP, performans akıllıca öldürecek değildir.

Eğer Phalanger kontrol ettiniz mi? Bu. NET kod PHP derler. İşte some benchmarks ki bu dramatik performansını artırmak olduğunu göstermektedir vardır.