Wordpress And High disk i/o

时间:2015-11-13 作者:Festus Were

因此,我使用以下设置运行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以更有效地利用硬盘空间。

3 个回复
最合适的回答,由SO网友:Festus Were 整理而成

所以我设法找出了问题所在,你的意见完全有助于为我指明正确的方向。因此,导致我的磁盘i/o高的原因是php\\u cgi\\u maxrequest值设置为99999,因此在磁盘i/o急剧下降时,我将该值增加到200000,自更改以来,我正在体验一个更稳定的服务器环境。

SO网友:shadylane

我不确定这是否是原因,但使用mod\\u php不是更好吗?它的性能应该比php cgi好得多——我从未在生产中使用过它,但我是一个习惯的生物。PHP不应该大量写入磁盘。好吧,它写入磁盘的主要情况是。

服务器正在使用交换空间(不太可能,因为您有大量的RAM,但值得检查)

  • PHP正在生成数百条通知和警告,并写入错误日志(解决方案:更改错误报告级别或实际修复代码问题)
  • W3总缓存配置问题-尝试更改缓存的过期时间,看看是否会有所不同
  • 3.9MB也是一个疯狂的页面大小,您可能会做很多事情来优化它,将CDN用于静态资产等。

    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的成本。

    相关推荐

    无法在模板函数.php中使用IS_HOME

    我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请