Apache mod_php VEYA FastCGI?

2 Cevap php

Ben, vb mod_php, cgi, FastCGI, gibi farklı konfigürasyonlarda PHP çalışan hakkında temel bir fikir var

Benim bulgular ve testte ben FastCGI biraz daha iyi buldum. Ben en çok suexec için FastCGI destek ister. Ben burada tekrar kıyaslama işine almak istemiyorum bekleyin. Eğer sörf web varsa, bir şekilde kanıtlayan kişi saniyede ele isteklerin sayısı bakımından diğerine göre daha hızlı olduğunu göreceksiniz. Peki onun iyi ölçümler ama burada farklı faktörler ilgi ve duyuyorum benim sorular ...

  1. Hangi PHP çalışan yöntem daha az bellek tüketiyor?
  2. Ayrıca bu yöntem, bellek neredeyse sabit tüketir. Ben 300MB ve 800MB, her birkaç saniye arasında dalgalanan mod_php benim sunucular bellek kullanımı ile bakın.
  3. Ama FastCGI ile, sunucudan ilk tepki çok geç geliyor. Ben Web sayfası istek başına bir başlangıç ​​gecikme var FastCGI bkz. Sunucudan ilk müdahale, resim, css, js yükler gibi diğer öğeleri oldukça hızlı geldi bir kez.
  4. Bu ikisinin karışımı çalıştırmak için Tamam mı? Ben adanmış sunucu üzerinde 5 siteleri var. Ben FastCGI ile mod_php ve dinlenme ile birkaç çalıştırırsanız Tamam mı?
  5. Benim sunucu çoğunlukla çünkü mod_php tarafından uygunsuz bellek kullanımı iner eminim. Ben tüm komut kontrol. Sunucuda emin bellek tüketimini yapmak için herhangi bir yolu var mı neredeyse sabit kalır?
  6. . Htaccess karmaşıklığı önemli ölçüde bellek kullanımını etkiler mi? Eğer evet ise, o bellek sunucu çalışmasını sağlamak için tek bir nedeni olabilir?
  7. Apache MPM prefork / işçi ayarları, bellek tüketimini etkiler mi? Onlar eşit mod_php'yi ve FastCGI modunu etkiler?
  8. Ben "top" komutunu çalıştırdığınızda, ben 40MB etrafında apache (httpd) tüketen bellek bakın. Httpd çalışan birçok örnekleri vardır. Ayrıca, bu FastCGI çatal benzer büyüklükte bir işlemleri ek olarak. Httpd süreci normal bellek boyutu nedir?
  9. Ben tüm sitelerde Wordpress çalıştırıyorum gibi, bu bağlamda iyi bir yol olacak?
  10. FastCGI / suexec APC ile çalışıyor mu? Ben suexec ve FastCGI ile çalışmak için APC yeniden yapılveırmanız gerekiyor.

Ben Digg veya trafik ani karşı hayatta daha az ilgileniyorum, lütfen unutmayın. Ben sunucu istikrarlı ve öngörülebilir yapabilir bir yol istiyoruz.

Üzgünüm kafa karıştırıcı ama ben karmaşa gerçekten ediyorsam. Ben 512MB fiziksel RAM, 400MB Swap ve benim sunucu deli gibi bellek bitmek zorunda. Ortalama bellek gereksinimi 350MB civarında olduğunu, sadece bellek kullanımı ani birkaç saniye bellek kullanılamaz hale getirir ve birkaç ekstra vurur o birkaç saniyelik penceresinde aldıysanız mysql ve diğer tüm dostlar çalışırken cezası devam ederken, apache çöktü.

Beyler bana yardım edin. Seni daha fazla RAM veya donanım satın değilim. Ben bu sorun benim konfigürasyonda olduğu lanet eminim. Üzgünüm kibirli ya da cahil ses eğer.

2 Cevap

Hangi PHP çalışan yöntem daha az bellek tüketiyor?

PHP-işlenmiş istek başına daha fazla veya daha az aynı olduğunu varsayalım. Ama mod_php çok apache hizmet veren görüntü içine yüklenmiş varsa, o zaman ben senin bellek ayak izi nedeniyle statik dosyaları hizmet için daha yüksek olacağını varsayabiliriz.

Ayrıca bu yöntem, bellek neredeyse sabit tüketir. Ben 300MB ve 800MB, her birkaç saniye arasında dalgalanan mod_php benim sunucular bellek kullanımı ile bakın.

You can make both pretty constant. If you carefully set MaxClients, MinSpareServers and MaxSpareServers, you pretty much can tell how many processes are running. If you also set memory_limit within your PHP config, you can calculate how much memory you need. You can do the same for fcgi too, since you can decide how many processes are running.

Ama FastCGI ile, sunucudan ilk tepki çok geç geliyor. Ben Web sayfası istek başına bir başlangıç ​​gecikme var FastCGI bkz. Sunucudan ilk müdahale, resim, css, js yükler gibi diğer öğeleri oldukça hızlı geldi bir kez.

Bu mantıklı değil. Bu durumda olur neden emin değilim.

Bu ikisinin karışımı çalıştırmak için Tamam mı? Ben adanmış sunucu üzerinde 5 siteleri var. Ben FastCGI ile mod_php ve dinlenme ile birkaç çalıştırırsanız Tamam mı?

Sanırım, ama bu hem korumak için bir kabus olacak ve muhtemelen saving memory için yapılandırmak için daha zor olacaktır. Aksine ben inanıyorum.

Benim sunucu çoğunlukla çünkü mod_php tarafından uygunsuz bellek kullanımı iner eminim. Ben tüm komut kontrol. Sunucuda emin bellek tüketimini yapmak için herhangi bir yolu var mı neredeyse sabit kalır?

Ben yukarıda belirtildiği gibi bellek ve süreçleri yapılandırma ve izleme tutmak.

. Htaccess karmaşıklığı önemli ölçüde bellek kullanımını etkiler mi? Eğer evet ise, o bellek sunucu çalışmasını sağlamak için tek bir nedeni olabilir?

Öyle düşünmüyorum. dizin başına. htaccess şeyler yavaşlatabilir, ancak Apache bazı ciddi hata olmadığı sürece, kitle bellek tüketimine neden olmamalıdır.

Apache MPM prefork / işçi ayarları, bellek tüketimini etkiler mi? Onlar eşit mod_php'yi ve FastCGI modunu etkiler?

PHP, çoğunlukla parçacığı güvenli değil gibi, ama ben, uzak işçi kalmak için tavsiye olabilir.

Ben "top" komutunu çalıştırdığınızda, ben 40MB etrafında apache (httpd) tüketen bellek bakın. Httpd çalışan birçok örnekleri vardır. Ayrıca, bu FastCGI çatal benzer büyüklükte bir işlemleri ek olarak. Httpd süreci normal bellek boyutu nedir?

30MB dk. Üst sınırı (Ben ~ 1GB gördük) uygulamanıza bağlıdır

Ben tüm sitelerde Wordpress çalıştırıyorum gibi, bu bağlamda iyi bir yol olacak?

Muhtemelen tat meselesi. Geçenlerde uzak nginx + fastcgi doğru apache taşınmıştır. Buna alışmak için biraz zaman alır, ama iyi çalışır. Wordpress (yerine web sunucusu açısından katılır bile değil birlikte supercache,) ile herhangi bir problem.

FastCGI / suexec APC ile çalışıyor mu? Ben suexec ve FastCGI ile çalışmak için APC yeniden yapılandırmanız gerekiyor.

Ben suexec kullanarak değilim, ama Fastcgi APC ile çalışır. Bir şey yapılandırmak gerek yok.

Okuduğum her şey daha hızlı olduğunu söyledi, çünkü ben mod_php geçiş çalıştı. Ben kök dosyalarını sahibi ile güvenlik sorunu hakkında çok fazla önemsemiyorum, ama ben zamanında fark etmedi ne mod_php statik dosyaları servis ekstra bellek ile yanan biter oldu vermedi.

Without a CDN setup, fastcgi is your only choice. Switching for from fcgi to mod_php slowed my page time way down, from a total page load of 3895ms all the way up to 6264ms. Yikes.