Nginx APC很快-然后使服务器陷入困境

Nginx APC很快-然后使服务器陷入困境,nginx,memcached,apc,php,Nginx,Memcached,Apc,Php,在新的开发完成之前,我暂时提供一个流量很大的垃圾网站 该服务器是一个4GB云服务器,有2个CPU核心,运行NGINX、PHP-FPM、APC、Memcached和一个云数据库服务器(Rackspace) 该网站,让你知道它有多糟糕,给了我一个1.2的未缓存负载,让我可以在上面快速漫游。可怕的。每页170个查询,有些查询包含2000条或更多记录。糟透了 所以,在Joomla上,我启用了APC。在我们开发的同时,迅速抢占了这块土地,使其更适合居住 现在该网站是实时的,根据GA的统计,该网站一直有30

在新的开发完成之前,我暂时提供一个流量很大的垃圾网站

该服务器是一个4GB云服务器,有2个CPU核心,运行NGINX、PHP-FPM、APC、Memcached和一个云数据库服务器(Rackspace)

该网站,让你知道它有多糟糕,给了我一个1.2的未缓存负载,让我可以在上面快速漫游。可怕的。每页170个查询,有些查询包含2000条或更多记录。糟透了

所以,在Joomla上,我启用了APC。在我们开发的同时,迅速抢占了这块土地,使其更适合居住

现在该网站是实时的,根据GA的统计,该网站一直有30-60名实时访客

这是奇怪的部分。不管我是使用APC还是Memcached,因为在重置php fpm之后,站点首先运行得很快。。然后它会持续一段时间,逐渐加载,CPU会逐渐达到1.x,2.x和更高。即使在访问稍微缓和了一点之后也再也不回来了

为什么会这样?我在互联网上搜索了php fpm设置、APC设置等的一致方向。。这是如此的错误,所以我希望得到一些合理的建议,计算和确定什么样的设置需要随着需求的变化

下面是我的设置——在这一点上,我唯一能想到的就是每隔30分钟左右CRON一次“servicepphpfpmrestart”

[APC]
apc.stat = 1
apc.max_file_size = 2M
apc.localcache = 1
apc.localcache.size = 128M
apc.shm_segments = 1

apc.ttl = 3600
apc.user_ttl = 600
apc.gc_ttl = 3600

apc.cache_by_default = 1
apc.filters = 
apc.write_lock = 1
apc.num_files_hint = 7000
apc.user_entries_hint = 5000
apc.shm_size = 64M
apc.mmap_file_mask = /tmp/apc.XXXXXX
apc.include_once_override = 0
apc.file_update_protection = 2
apc.canonicalize = 1
apc.report_autofilter = 0
apc.stat_ctime = 0

apc.stat = 0
(这也很难分割——如果有人需要更多信息,我有apc.php可用)

(我玩过这些……似乎没什么不同,但我想我也没有找到任何合理的建议)


任何帮助或建议都将不胜感激:-/

一天点击量约为7K-joomla站点-启用APC后,每页加载量为500万次-启用APC前,每页加载量接近1500万次。我很好奇您使用的是哪种FPM PM?IE:静态、动态、按需。我也很好奇,你是否尝试过改变这些值,并对它们的每一个设置进行处理,看看这是否有什么不同。据我所知(lol),我上面的设置应该会使它变得动态。我没试过静电,但我已经玩过了。问题是——我甚至不知道什么范围是合适的。Reasearch让我看到了如此广泛的范围——谁说他们在更高负载的网站上做得对?如果有帮助的话——当我闪电式搜索网站时,它总是在闪电式搜索中出错5-10秒20%,然后以20-40%的速度返回,效果很好。所以有一个瓶颈。但我还不能确定原因。好的,我不确定你在发布后是否更改了设置。我也很好奇你是否检查过PHP附带的APC管理页面,看看是否有线索?它与PECL APC包一起提供,名为APC.php
pm = dynamic
pm.max_children = 80
pm.start_servers = 32
pm.min_spare_servers = 16
pm.max_spare_servers = 56
pm.max_requests = 1000