2011-09-28 99 views
1

我正在嘗試構建一個社交網站,該網站可以同時登錄大量用戶,每次上限爲5000。Apache mpm爲社交網站

我打算使用LAMP堆棧。 Apache可以有2個MPM(多處理模塊) - preforker(每個請求分派一個新進程)和worker模型(每個請求使用線程)。

考慮到我的服務器端代碼是用PHP編寫的,我希望能夠按需擴展網站,哪一個更好。我們使用的一些第三方PHP模塊不是線程安全的,因此建議使用理想的preforker。

  1. 有什麼辦法通過交換過程之間的延遲可以在preforking
  2. 降低有沒有什麼辦法讓我可以用工作模塊,在PHP中呢?

在LAMP堆棧上運行的社交網站通常使用哪種模式?

+0

嘗試https://www.howtoforge.com/configuring_apache_for_maximum_performance – Chloe

回答

0

對於這麼多的請求,Apache並不是首選。例如,你最好用nginx。 http://nginx.net/

「每服務器10000+併發連接數」聽起來很不錯;-)

1

如果您計劃在服務器推送服務,Apache是​​不是一個好的選擇。看看cherokeenginx,由於您不需要CGI支持(只有FastCGI支持cherokee和nginx),PHP和php-fpm都比mod_php和apache2更好。

幾周前I migrated my WordPress network from apache2-mpm-itk with mod_php to nginx+php5-fpm。因此,系統負載急劇下降,內存負載變得可預測,用戶體驗似乎要快得多。我還添加了一些來自loadimpact.com的免費測試,新配置的服務時間也更好。

0

如果您不使用mod_php,則可以在工作模式下使用Apache。在Fastcgi mod中使用PHP,php-fpm是必須的。

使用當前的apache穩定版本(2.2),如果你想在chroot模式下使用它,你將會遇到問題。但是你可以嘗試apache 2.3或等待2.4並使用mod_proxy_fastcgi而不是mod_fastcgi或其他。你也可以用這個版本的Apache測試新事件basef mpm。或者當然你也可以嘗試其他網絡服務器,如@petermolnar回答