因此,我使用以下设置运行Wordpress博客:
1.两台专用服务器--一台用于应用程序,一台用于数据库应用服务器规范:32核126 3tb内存4tb运行centos 7数据库服务器规范:16核140 3tb ram 3 3tb运行centos 7
我已经优化了代码到一个良好的页面速度得分,但我一直在经历连接超时,当我的博客流量达到1000个活跃用户。
目前,我的页面大小为3.9mb,每页加载发出250个请求。
不过,我使用了一个缓存插件,w3总缓存,这有助于优化。由于超时,我注意到当这种情况发生时,我有一个非常高的磁盘i/o,但是我在服务器上使用了apc和memcached系统。
在对写入硬盘的顶级进程的进一步研究中,我发现php在htop和顶级结果屏幕上占据了进程列表的大部分。
我的问题是:如何将高磁盘i/o管理到合理的水平,或者如何微调php-cgi以更有效地利用我的硬盘空间。
发布于 2015-12-08 09:39:43
所以我设法找出了问题所在,你的输入都帮助我朝着正确的方向前进。所以导致我的高磁盘i/o的是php_cgi_maxrequest值,它被设置为99999,所以我将磁盘i/o中的值增加到200000,并且在改变之后,我正在经历一个更稳定的服务器环境。
发布于 2015-11-13 13:52:40
我不确定这是否是原因,但使用mod_php不是更好吗?性能应该比php好得多--我从未在生产中使用过它,但我是一个习惯的生物。PHP不应该在磁盘上写很多东西。AFAIK,它将写入磁盘的主要情况是。
3.9MB也是一个疯狂的页面大小,您可能会做很多事情来优化它,使用CDN作为静态资产等等。
发布于 2015-11-13 15:53:41
写入可能与此无关(除非有更多详细信息),您的问题是文件读取。
一个明显的原因是使用cgi而不是mod_php或https://stackoverflow.com/questions/14489346/is-it-possible-to-run-apc-with-php-cgi。CGI的使用使PHP解释器能够读取每个请求的所有文件,如果APC能够工作,PHP将每2秒只读取一次(可配置),而这是在考虑其他APC优化之前。
每页都有这么多请求,这一点也没有帮助。去他妈的google速度告诉你关于你的网站,它让你优化浏览器缓存,但在实践中,浏览器缓存的有效性取决于人们多久来你的网站。雅虎几年前进行的一项测试显示,50%的访问者在访问该网站时没有缓存雅虎文件。重点是,浏览器缓存中的高分并不能转化为您的服务器在每个页面请求中没有被250次请求击中。
根据页面请求和硬盘驱动技术的速度,您可能总是将磁盘控制器置于繁忙状态(这还取决于硬盘驱动器在内存中缓存了多少文件。如果你有这么多的请求,也许你应该把相关的文件放在内存磁盘上。
您有一个强大的应用服务器和1000用户在“同时”不是太多(我看到2x8GB处理7x你的负载一点也不出汗)。当然,这取决于你的代码到底做了什么..。我的建议是,您应该调查使用CDN的成本。它可能是,一旦您的硬件不需要服务所有这些文件,您可能能够减少服务器的需求,这可能抵消CDN的成本。
https://wordpress.stackexchange.com/questions/208546
复制相似问题