我的共享主机暂停了我的网站,说明系统过载,所以我把我的网站转移到一个VPS,其中有4GB RAM。但出于某种原因,网站变得非常缓慢。
这是vmstat输出-
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 3050500 0 0 0 0 0 1 0 0 0 0 100 0 0下面是我在服务器上运行的静态html页面的Apache基准输出-
Benchmarking www.ask-oracle.com (be patient)...apr_poll: The timeout specified has expired (70007)
Total of 20 requests completed服务器Config:
现在加载几乎需要两倍的时间,相同的网站在共享主机上速度要快得多。我知道我需要调整一些设置,但不知道从哪里开始?
我已经尝试过优化apache、mysql等。
CPU使用率很低,请参见正常运行时间输出:
11:09:02 up 7 days, 21:26, 1 user, load average: 0.09, 0.11, 0.09当我加载任何网页时,浏览器会显示“等待”很长一段时间,然后快速加载页面。因此,我怀疑服务器只能接受有限的连接,并在等待状态下保存额外的连接。怎么检查这个?
更新4:下面是执行netperf的输出
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to localhost.localdomain (127.0.0.1) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.00 9615.40
[root@ip-118-139-177-244 j3ngn5ri6r01t3]#下面是来自httpd.conf的Apache设置,它们看起来还好吗?
<IfModule worker.c>
StartServers 5
MaxClients 100
MinSpareThreads 50
MaxSpareThreads 250
ThreadsPerChild 125
MaxRequestsPerChild 10000
ServerLimit 100
</IfModule>发布于 2012-01-06 18:01:40
我猜:您的共享主机没有限制您的CPU,甚至比您当前的VPS还要快。这也可能是发生了什么与大量的VPS,这是超卖。您的VPS托管在共享机器上,您可能无法获得所有CPU周期。此外,也可能有非常差的I/O或缓慢的互联网连接。
您不知道在主机上VPS上发生了什么,请尝试找到它:)。
发布于 2012-01-06 18:34:50
您在httpd.conf中的apache设置是什么?我试着连接到您的服务器,甚至需要5-10秒才能发送回头。
写得不好的wordpress插件和主题可能会影响性能,但通常情况下,它们会在日志文件中产生错误或搅动mysql/磁盘访问,而这似乎不会发生在您身上。
更新:您可以尝试运行prefork而不是worker,特别是使用4GB的RAM。Wordpress建议在这里:http://codex.wordpress.org/High_交通_提示_为_WordPress
发布于 2012-01-07 08:04:15
运行netstat -anp _ grep TIME_WAIT _ wc -l
这将返回等待apache响应的请求数。如果这个数字非常高,可以调整apache设置,使其能够每秒处理更多请求,而不影响整个服务器性能。
设置apache预表MPM设置如下:
<IfModule prefork.c>
StartServers 25
MaxClients 500
MaxRequestsPerChild 10000
ServerLimit 500
</IfModule>https://serverfault.com/questions/347395
复制相似问题