扩展PHP网站

时间:2010-09-27 06:38:48

标签: php zend-framework web scaling

是否有标准解决方案来扩展在PHP + Apache Web服务器上运行的网站? 就像我现在获得大约100,000个请求/天的流量一样。 6个月后,我预计它将增长到200,000个请求/天。我想到的第一个解决方案是使用mod_php部署更多的Apache Web服务器,但是它似乎有些错误。

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

在添加新服务器之前,请先尝试这两个选项。它们可能允许您坚持使用一台服务器,但结果可能会有所不同。

为了在遇到许多并发用户时加快网站速度,请考虑安装APC PECL扩展(http://us2.php.net/manual/en/book.apc.php)。 APC将允许您缓存脚本的编译版本,保存每次执行脚本时PHP解释器的运行步骤。

此外,如果您在数据库服务器上遇到大量负载,请考虑在特定时间段内安装memcached和缓存数据库结果(如果可能)(http://us2.php.net/manual/en/book.memcache .PHP)。

最后,如果您决定使用单独的服务器,请查看可能获取专用SQL框。当然,这假设您的应用程序是一个数据库繁重的应用程序,因为现在是Web应用程序。将SQL隔离到一个单独的框中允许它利用该框上的所有资源,具有更多的缓存和处理能力。这可能是要走的路。

答案 1 :(得分:3)

我没有任何扩展大型网站的经验,但我不认为在这种情况下你需要这样规模到不同的服务器。我有一个浏览器游戏,每天有40.000-60.000个请求,一些cronjobs每5分钟做很多东西,一个小型服务器上有一个teampeak-server(40美元/月),到目前为止还没有任何性能问题。

答案 2 :(得分:1)

20.000个请求/天只是每五秒钟一个,听起来像一个盒子应该能够处理那个就好了吗?如果不是,我首先要看看代码中的瓶颈。冗余数据库调用?双循环数据库调用而不是简单连接?你在缓存什么吗?

如何在此之后进行扩展完全取决于您的应用程序,如何/在何处保持会话状态等等,一般建议的适用性有限。

答案 3 :(得分:0)

如果您喜欢它,那么您应该在其上放置缓存