Sadece bir kez mümkün FastCGI belleğe bir PHP app / framework yükleniyor?

2 Cevap php

Ben FastCGI Eğer biraz sonra web uygulaması yüklemek için izin verdiği izlenimi altında, ve o zaman sadece bir istek geldi her zamanki adıyla olacağını, myHandleHTTPRequest($url) gibi, bazı fonksiyon ile FastCGI "sağlamak". Eğer app olarak çok daha iyi performans almak istiyorum bu şekilde sağ, bellekte her zaman hazır mı?

Ama bu böyle değil, anlamaya başlıyorum. Ya da ben yanılıyorum?

Tamam, PHP FastCGI tarafından yüklenen ediliyor, bana görünüyor, ve bu bazı iyileştirme verir, ancak daha sonra my app hala her istek üzerine yeniden ediliyor.

Benim app yüklemek (veya 'çerçeve' okuyun) kez İstediklerim (ve daha sonra ki her 500 istekleri ya da öylesine yeniden.) Bunu yapabilir miyim?

Edit: Bu soru, bu içine rephrased edilmiştir: Custom PHP FastCGI interface

2 Cevap

Evet, fancy PHP integration stuff hepsi hakkında daha fazla ya da daha az unutmadan, bunu yapabilirsiniz (ki sen Genel Amaçlı-PHP-Tercüman-As-FastCGI veriyor ne olmak) ve bir FastCGI sunucu olarak başvurunuzu yazma ve kendisi.

Bu bir bütün 'nother konu naziksiniz, ancak bir rehber için how Perl apps go about it içine bakmak isteyebilirsiniz.

Ne Fastcgi yapar (cgi yaptığı gibi) her istek için bir php yorumlayıcısı yumurtlama kaçınmaktır. Php tercüman mod_php yapar daha fazla veya daha az gibi, bellekte tutulur gibi bu işlem zaman büyük miktarda tasarruf sağlar.

Ne performansını artırmak için yapabileceğiniz olduğunu:

  1. Her istek üzerine yeniden derlenmesi kaçınarak, şeffaf her php dosyası precompiles APC, ya da XCache, vb kullanın.
  2. Önbelleğe alma. Apc ve diğerleri hatta istekler arasında yayılan bir ömür boyu birlikte değişkenleri saklamak için mekanizmalar sağlar. Bu istekler arasında işlenen veri paylaşımı ve bellekte uygulama verileri tutmak için kullanılır.