Cidden PHP hızlandırmak?

6 Cevap php

Ben istedikleri yıldır PHP yazıyorum ve güneşin altında her çerçeve kullanmış, ama bir şey her zaman beni rahatsız etti ... ve bu bütün kanlı şey Birisi benim sunucu söyler her zaman yorumlanır ve idam edilmesi gerektiğini bulunuyor sayfası servis.

Ben önbelleğe alma, FastCGI, Zend İş Kuyruğu (ve benzeri do symfony plug-ins - yanı sıra arka plan süreçleri çalıştırmak için System_Daemon sınıf uygulamak benim kendi DB-tabanlı çözümler) ile tecrübe ettik ve ben yapmak başardınız benim oldukça hızlı tüm bu malzeme kullanılarak ... ama zihinsel blok üzerinde alınamıyor uygulamalar benim ayar dosyaları, sistem / çevre denetimi işlevleri ve sadece gerçekten ... yükleri her lanetlemek zaman birisi bir kez yüklenmiş gereken tüm şeyler sayfamı vurur.

So, my ramble leads to the following Q--

O sayfa istendiğinde, bütün settings.yml dosyaları, sistem kontrolleri, çerçeve dosyaları, vb önbelleğe sayfaları hiç bile HD dokunmadan bellekten doğrudan yüklenen böylece RAM içine PHP bazı yönlerini yüklenmesi için bazı yöntem / tekniği var ... veya programı init aynı yükleme mekanizması yoluyla günde 50.000 kez gitmek gerek?

Hiçbir şey PHP varsa ... gerçek init-kez uygulamalar için izin vermek için bu şekilde derlenmiş olabilir başka bir 'web' diller vardır?

6 Cevap

Ben verileri önbelleğe alma bahsediyoruz eğer, memcached Bir deneyin vermek gerektiğini düşünüyorum. Ben (istekleri arasında ölmez) apache mod_php gibi şeyler kullanıyorsanız PHP önbelleğe derlenmiş php sayfaları oldukça yeterli olduğunu düşünüyorum.

APC (Alternative PHP Cache), bu derlenmiş dosya (PHP Opcode) bir önbellek tutar ve ayrıca apc_fetch, apc_store ile bellekte rastgele değişkenleri saklamak sağlayan bir göz atın.

Instalation çok basit ve gerçekten performansı üzerinde destek veriyor.

Ram disk üzerinde tam sayfa önbellek oluşturmak ve web sunucusu oradan sayfa hizmet yapmak. Bu supercache eklenti kullanır wordpress ve web sitesi tam sayfa önbelleğe alma için uygun olup olmadığını o inşaat büyük bir yöntemdir. Bu whay bile PHP yorumlayıcı çağırarak değil.

Kaydedilir kullanıcılar için (bir açık oturum var) Eğer PHP motoru kendi isteği yönlendirir bir yeniden yazma koşulu oluşturabilirsiniz.

Ayrıca, her zaman APC gibi bir opcode önbellek kullanımı ve (memcache da gayet) önbelleğe config dosyaları için kullanabilirsiniz.

Eğer uygulama sunucusu gibi bir JVM / Tomcat isteyen varsa, o zaman cevap hayır muhtemeldir. Benim gibi bu bilgi hiçbir şey (kullanılabilir) PHP için var etmek. PHP paylaşılan bir şey mimarisini kullanır, bu yüzden her şeyi tüm istekler kurulum, tasarım gereğidir. Ama aslında, bu oldukça iyi bir PHP ölçek yapar.

Uygulamalarınızı hızlandırmak için olduğu gibi, memcached kullanmaya çalışın ve bir code accelerator. Belki tam paketi almak için Zend Server içine bakmak.

Son soruya gelince, ben en azından Python ve Ruby web çerçevelerin çoğu böyle çalışır inanıyorum.

Uygulama sadece sunucu işlemi başına bir kez başlatılır ve böylece Yakut web uygulamaları günümüzde inşa edilir. Istekleri geldiğinde, (örneğin Apache,) sunucu arka planda çalışan bir web uygulaması (üzerinde Rack interface) iletir.

Bu web çerçeveleri Rack çalışmalarına dayanmaktadır nasıl. Bu web sunucusuna konuşmak için farklı bir arayüz kullanılan rağmen Ruby on eski sürümleri, benzerdi.

Ben Facebook Mühendisliği FSayfa bir göz tutmak istiyorum (http://www.facebook.com/notes.php?id=9445547199), her şimdi ve sonra onlar şeyleri hızlı / optimize / ölçekli tutmak nasıl hakkında mesaj ile geldi. Ben php kullanımı süper etkileyici olduğunu düşünüyorum.