我有VPS 2GB的RAM和8个CPU核心的限制。
我在这个VPS上有5个站点(其中一个只是为了testing,没有游客免除我)。 所有5个网站是图像画廊,如壁纸网站。 上周我注意到一个网站(主域名,用于名称服务器,也是大多数stream量,访问者)的问题。 该网站有两个图像画廊,一个是几年前制作的旧静态html画廊,另一个是主要由ZENPhoto CMS提供支持。 另外,我在同一个VPS上的另外两个站点(在一个运行的站点上,在一个testing站点上)上也有相同的图库CMS。 在其他两个网站,我有不同的PHP驱animation廊。
问题是,经过一段时间(从Apache重新启动后10分钟到几个小时不等),在主站点加载页面变得非常缓慢,或者我得到503 Service Temporarily Unavailable错误。 所以页面变得不可用。 但只是与新的CMS图库的一部分,具有静态html页面的网站的旧部分工作得很快,很好。 同样CMS图库和其他两个具有不同的PHP驱动库的其他两个网站同时工作正常和快速。 我认为这个主站点上的CMS必须是CMS,因为其他站点工作的很好。 然后,我尝试在该主站点上打开联系人和留言簿页面,该页面不在该CMS之外,但也是PHP页面,并且不会加载,但同一联系人的php scipts正在同时在其他站点上工作。
所以,当网站开始挂起,只有PHP生成的内容不工作,就像我说的其他静态页面正在工作。 而且,只有在那个主站点上我有问题。 然后,我需要重新启动Apache,重启后,一切都变得好而快,一段时间,比主站点上的PHP页面慢得多。 如果我不重新启动apache缓慢需要一些时间(几分钟,几小时,取决于stream量),并在此期间PHP的潜水内容加载非常缓慢或不可用在该网站上。 过了一段时间之后,所有的事情都开始奏效了,一段时间又一次又快又快了。 在stream量更大的小时内,PHP内容缓慢加载或不可用,stream量较小的时间段内,有时速度较快,有时比平时慢一点点。 而且,只有在这个主站点上,并且只有PHP驱动页面,即使在大多数stream量时间内,静态页面也可以快速工作,而其他具有相同CMS的站点工作也很快。
目前,我在该网站上有大约7000个独立访问者,但即使每天有11500个访问者,网站也能很好地工作。 所有网站(每个独立访问者大约3页)的访客总数约为17000人。
当站点开始减速有时在Apache的状态,我可以看到这样的事情:
mod_fcgid状态:
总FastCGI进程:37
进程:php5(/ usr / local / cpanel / cgi-sys / php5)pid主动空闲状态
11300 39 28 7工作
11274 47 28 7工作
11296 40 29 3工作
11283 45 30 3工作
11304 36 31 1工作
11282 46 32 3工作
11292 42 33 1工作
11289 44 34 1工作
11305 35 35 0工作
11273 48 36 2工作
11280 47 39 1工作
10125 133 40 12退出(通讯错误)
11294 41 41 1退出(通信错误)
11277 47 42 2退出(通信错误)
11291 43 43 1退出(通讯错误)
10187 108 43 10退出(通讯错误)
10209 95 44 7退出(通讯错误)
10171 113 44 5退出(通讯错误)
11275 47 47 1退出(通信错误)
10144 125 48 8退出(通讯错误)
10086 149 48 20退出(通讯错误)
10212 94 49 5退出(通讯错误)
10158 118 49 5退出(通讯错误)
10169 114 50 4退出(通讯错误)
10105 141 50 16退出(通信错误)
10094 146 50 15退出(通信错误)
10115 139 51 17退出(通讯错误)
10213 93 51 9退出(通信错误)
10197 103 51 7退出(通信错误)
进程:php5(/ usr / local / cpanel / cgi-sys / php5)pid主动空闲状态
7983 1079 2 149准备就绪
7979 1079 11 151准备就绪
进程:php5(/ usr / local / cpanel / cgi-sys / php5)pid主动空闲状态
7990 1066 0 57准备好了
8001 1031 64 35准备就绪
7999 1032 94 29准备就绪
8000 1031 91 36准备就绪
8002 1029 34 52准备就绪
进程:php5(/ usr / local / cpanel / cgi-sys / php5)pid主动空闲状态
7991 1064 29 115准备就绪
当它很好地工作时,没有“退出(通信错误)”的行
活动和空闲时间是自上次请求以来的活动时间和时间,以秒为单位。
这里是系统信息。
Sysem信息:
总处理器:8
处理器#1供应商GenuineIntel名称Intel(R)Xeon(R)CPU E5440 @ 2.83GHz速度88.320 MHz高速caching6144 KB
其他七个是一样的。
系统信息
Linux vps.nnnnnnnnnnnnnnnnn.nnn 2.6.18-028stab099.3#1 SMP Wed Mar 7 15:20:22 MSK 2012 x86_64 x86_64 x86_64 GNU / Linux
当前内存使用总共使用空闲共享缓冲区cachingMem:8388608 882164 7506444 0 0 0 – / + buffers / cache:882164 7506444 Swap:0 0 0 Total:8388608 882164 7506444
当前磁盘使用率文件系统大小已用可用使用百分比挂载在/ dev / vzfs 100G 34G 67G 34%/无
系统详情:
运行于:Apache / 2.2.22系统信息:(Unix)mod_ssl / 2.2.22 OpenSSL / 0.9.8e-fips-rhel5 DAV / 2 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635 mod_fcgid / 2.3.6技术支持: PHP / 5.3.10
当前configuration
默认PHP版本(.php文件)5
PHP 5处理程序fcgi PHP 4处理程序suphp
Apache suEXEC上
Apache Ruid2closures
PHP 4处理程序suphp
Apache suEXEC上
Apacheconfiguration
以下设置已保存:
fileetag:全部
keepalive:开
keepalivetimeout:3
maxclients:150
maxkeepaliverequests:10
maxrequestsperchild:10000
maxspareservers:10
最好的朋友:5
root_options:ExecCGI,FollowSymLinks,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
serverlimit:256
服务器签名:关
servertokens:完整
sslciphersuite:ALL:!ADH:RC4 + RSA:+ HIGH:+ MEDIUM:LOW:-SSLv2:-EXP:!kEDH
初学者:5
超时:30
我希望,我很好地解释了我的问题。
你能帮忙的话,我会很高兴。
检查您的数据库是否有错误,并确保数据库不是太大。 另外,当你开始看到一个缓慢的时候,看看你的数据库日志和Apache错误日志。
根据我的VPS经验,我会考虑打开文件(/袜子)的限制。 这些可能会导致奇怪的效果,特别是挂起/否认I / O(例如,您的通信错误),同时显然拥有大量的免费资源。