加快Apache和PHP

什么是一些好的caching模块或系统,我可以使用它来减less运行PHP的EC2服务器上的Apache负载,为什么要select它们?

这里有一些stream行的,行业标准的技术来提高你的速度。 你可以尝试一下,取决于你的确切configuration:

Memcached的

Memcached是一个通用的分布式内存caching系统,通常用于通过在RAM中caching数据和对象来加速dynamic数据库驱动的网站,以减less必须读取外部数据源(如数据库或API)的次数。

http://memcached.org/

清漆caching

Varnish是为内容繁多的dynamic网站devise的HTTP加速器。 与其他HTTP加速器相比,如开始生命作为客户端caching的Squid或主要是原始服务器的Apache,Varnish从一开始就被devise为一个HTTP加速器。

http://www.varnish-cache.org/

的mod_pagespeed

Page Speed是一个工具和库,用于识别可以对网站进行改进以改善其延迟。 mod_pagespeed自动化这些规则在Apache服务器中的应用。 在Web服务过程中,HTML,CSS,JavaScript和图像会dynamic更改,因此可以使用Page Speed推荐的最佳做法,而无需更改网站的维护方式。

http://googlewebmastercentral.blogspot.com/2010/11/make-your-websites-run-faster.html

HBase的

HBase是一个开源的,非关系型的分布式数据库,以Google的BigTable为后盾,用Java编写。 它是作为Apache Software Foundation的Hadoop项目的一部分开发的,在HDFS(Hadoop分布式文件系统)之上运行,为Hadoop提供类似于BigTable的function。 也就是说,它提供了一种容错方式来存储大量的稀疏数据。

http://hbase.apache.org/

作弊慢开始

慢启动是TCP使用的拥塞控制策略的一部分,TCP是许多Internet应用程序使用的数据传输协议。 慢启动与其他algorithm一起使用,以避免发送比networking能够传输更多的数据,也就是避免造成networking拥塞。

http://blog.benstrong.com/2010/11/google-and-microsoft-cheat-on-slow.html

cwd的答案非常好,如果处理过程是PHP重的话,只需添加一个PHP操作码cacher(APC,eaccelerator,xcache)即可。

为了mod_pagespeedbuild议+1。

如果你的目标是减less对Apache的负载,并假设Apache是​​接收HTTP请求的前线守护进程(即用户和Apache之间没有caching),那么你应该特别关注客户端优化,特别是减less页面重量并减less加载页面所需的请求数量。 mod_pagespeed将会在运行中做很多事情,但是因为它是一个Apache模块,所以会产生一些Apache的负载来执行这些优化。

它将使用过期头等最大化客户端caching,而不需要详细调整Apacheconfiguration,这是一个胜利。 对其他优化进行一些优化(组合或捆绑CSS和Javascript文件以减less构build页面所需的每个文件的数量,CSS图像精灵以减less每页加载的图像的数量)可能是好的,以减less在mod_pagespeedmod_pagespeed

您可以查看Google的Page Speed工具(从mod_pagespeed页面链接)和/或Firebug Firefox插件的Yslow扩展 ,为您的页面find良好的客户端优化。