因此,我使用以下设置运行Wordpress博客:
1、两台专用服务器-一台用于应用程序,一台用于数据库应用程序服务器规格:32核126gb ram 4tb hdd运行centos 7数据库服务器规格:16核140gb ram 3tb hdd运行centos 7
我已经优化了代码以获得良好的页面速度分数,但当我的博客流量达到1000个活跃用户时,我遇到了连接超时。
目前我的页面大小为3.9mb,每页加载250个请求。
然而,我使用了一个缓存插件w3 total cache,它有助于优化。由于超时,我注意到发生这种情况时,我的磁盘i/o非常高,但我在服务器上使用了apc和memcached系统。
在进一步调查写入硬盘的顶级进程时,我发现php cgi占据了htop和顶级结果屏幕上进程列表的大部分。
我的问题是:如何将高磁盘i/o管理到合理的水平,或者如何微调php cgi以更有效地利用硬盘空间。
SO网友:Mark Kaplun
写入可能与此无关(除非有更多详细信息),您的问题是文件读取
一个明显的原因是使用cgi而不是mod\\u php或fastcgihttps://stackoverflow.com/questions/14489346/is-it-possible-to-run-apc-with-php-cgi. CGI的使用使得PHP解释器可以读取每个请求的所有文件,如果APC可以工作,PHP大约每两秒钟只读取一次(可配置),这是在考虑其他APC优化之前进行的。
每页都有这么多请求,这对你没有帮助。不管google speed告诉你关于你网站的什么,它都会让你优化浏览器缓存,但实际上浏览器缓存的有效性取决于人们访问你网站的频率。IIRC雅虎几年前进行的一项测试显示,50%的访问者在访问该网站时没有缓存雅虎文件。关键是浏览器缓存中的高分并不意味着你的服务器不会被每个页面请求250个请求击中。
根据页面请求的速率和硬盘技术,您可能只是一直将磁盘控制器置于忙碌状态(这还取决于硬盘驱动程序在内存中缓存文件的量。如果您必须有这么多请求,也许您应该将相关文件放在内存磁盘上。
你有一个像野兽一样的应用服务器,“同时”拥有1000个用户,这并不算多(我看到2x8GB可以处理7倍的负载,一点也不费力)。当然,这取决于你的代码实际做了什么。。。。我的建议是,您应该调查使用CDN的成本。可能是,一旦您的硬件不需要为所有这些文件提供服务,您就可以减少服务器需求,从而抵消CDN的成本。