Nginx 和 PHP 缓存:fastcgi_cache、proxy_cache、APC 或 memcached 或组合?

Mat*_*att 5 nginx cache fastcgi memcached

我们有运行 nginx 7.65 和 fastcgi PHP5 的网络服务器,并且正在研究缓存的可能性,以加快内容交付和降低系统负载。服务器运行不同的(自定义)应用程序。

缓存的选项太多了,我不确定什么是合理的设置。有memcached、APC、Nginx的fastcgi_cache、proxy_cache....

我知道 memcached 具有分布式能力作为奖励,但我们目前不需要它。根据我的经验,如果将 memcached 安装在它所服务的同一台机器上,它的执行速度比 APC 慢,但这是一段时间以前的事了。

我不熟悉 Nginx fastcgi_cache 甚至常规的 proxy_cache 模块。它是可比的还是完全不同的?

对于 Nginx w,什么是好的、合理的缓存方法。FastCGI PHP5?

kar*_*ore 2

http://php-fpm.org/是我们在最近的一些安装中使用的,而不是 FastCGI 本身。

Nginx 可以直接从 memcached 提供页面,因此,您的应用程序可以将页面直接写入 memcached。否则,您需要确保您的代码使用 memcached 进行查询/对象。操作码缓存将有所帮助,具体取决于您的代码库。如果您有一小组重复运行的脚本,APC 或 XCache(或某些情况下的 eaccelerator)可以提供很好的提升。

您的缓存方法由您的代码决定。可以缓存页面吗?碎片?sql结果?价值观?这些实体的生命周期是多少,它们需要多少空间,键和结果集有多大?至于memcached比APC慢,因为它们并没有真正执行相同的任务,我不确定你比较了什么。