我的服务器 (VPS) 有问题。它非常慢。
使用 netstat 检查连接,发现有很多内部连接。我不明白为什么!
所有这些连接都正常吗?
# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 174 0 localhost:80 localhost:50035 ESTABLISHED -
tcp 0 0 localhost:80 localhost:49523 FIN_WAIT2 -
tcp 174 0 localhost:80 localhost:50034 ESTABLISHED -
tcp 0 0 localhost:80 localhost:49522 FIN_WAIT2 -
tcp 174 0 localhost:80 localhost:50045 ESTABLISHED -
tcp 174 0 localhost:80 localhost:50044 ESTABLISHED -
tcp 174 0 localhost:80 localhost:50043 ESTABLISHED -
tcp 0 0 localhost:80 localhost:49531 FIN_WAIT2 -
tcp 174 0 localhost:80 localhost:50042 ESTABLISHED -
tcp 14494 0 localhost:49448 localhost:80 CLOSE_WAIT 24351/apache2
tcp 14556 0 localhost:49449 localhost:80 CLOSE_WAIT 24351/apache2
tcp 25098 0 localhost:49450 localhost:80 CLOSE_WAIT 24351/apache2
tcp 26914 0 localhost:49444 localhost:80 CLOSE_WAIT 24351/apache2
tcp 21143 0 localhost:49445 localhost:80 CLOSE_WAIT 24351/apache2
tcp 17907 0 localhost:49446 localhost:80 CLOSE_WAIT 24351/apache2
tcp 22300 0 localhost:49519 localhost:80 CLOSE_WAIT -
tcp 25098 0 localhost:49528 localhost:80 CLOSE_WAIT -
tcp 861 0 localhost:49531 localhost:80 CLOSE_WAIT 24170/apache2
tcp 17907 0 localhost:49524 localhost:80 CLOSE_WAIT -
tcp 16336 0 localhost:49525 localhost:80 CLOSE_WAIT -
tcp 14494 0 localhost:49526 localhost:80 CLOSE_WAIT -
tcp 14556 0 localhost:49527 localhost:80 CLOSE_WAIT -
tcp 51238 0 localhost:49520 localhost:80 CLOSE_WAIT -
tcp 18377 0 localhost:49521 localhost:80 CLOSE_WAIT -
tcp 0 0 localhost:50003 localhost:80 ESTABLISHED 24417/apache2
tcp 0 0 localhost:49839 localhost:80 ESTABLISHED -
tcp 780 0 localhost:49838 localhost:80 ESTABLISHED -
tcp 3348 0 localhost:49837 localhost:80 ESTABLISHED -
tcp 925 0 localhost:49836 localhost:80 ESTABLISHED -
tcp 4159 0 localhost:49835 localhost:80 ESTABLISHED -
tcp 1960 0 localhost:49834 localhost:80 ESTABLISHED -
这只是一份简历,有上百份。
我该如何修复它?
多谢!
编辑:问题似乎是 apache 进程的 CPU 使用率过高。
top - 09:59:17 up 20:06, 1 user, load average: 49.51, 41.65, 33.52
Tasks: 73 total, 27 running, 46 sleeping, 0 stopped, 0 zombie
Cpu(s): 91.4%us, 8.6%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1048576k total, 732896k used, 315680k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 0k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7978 www-data 16 0 93832 28m 6656 R 11.2 2.8 0:20.99 apache2
8182 www-data 16 0 93812 27m 6768 R 11.2 2.7 0:07.19 apache2
8163 www-data 16 0 90068 23m 5412 R 10.9 2.3 0:07.00 apache2
8095 www-data 16 0 88584 23m 6544 S 3.8 2.3 0:19.31 apache2
8097 www-data 15 0 88204 23m 6524 S 3.5 2.3 0:17.58 apache2
8175 www-data 16 0 90780 23m 5900 S 3.5 2.3 0:07.40 apache2
8058 www-data 15 0 84916 21m 8388 S 3.2 2.1 0:18.26 apache2
8018 www-data 17 0 89460 23m 6388 R 2.9 2.3 0:15.99 apache2
8112 www-data 16 0 89308 24m 7276 S 2.9 2.4 0:17.65 apache2
7880 www-data 17 0 99532 34m 8364 R 2.6 3.3 0:26.61 apache2
7885 www-data 17 0 94680 28m 7892 R 2.6 2.7 0:28.58 apache2
7916 www-data 17 0 90388 24m 7932 R 2.6 2.4 0:35.33 apache2
8002 www-data 17 0 95820 30m 7176 R 2.6 3.0 0:13.93 apache2
8022 www-data 17 0 96336 31m 7728 R 2.6 3.1 0:21.56 apache2
8035 www-data 17 0 88728 23m 7464 R 2.6 2.3 0:22.86 apache2
8066 www-data 17 0 96124 29m 6676 R 2.6 2.9 0:19.17 apache2
8070 www-data 17 0 93432 26m 6600 R 2.6 2.6 0:17.57 apache2
8092 www-data 17 0 92668 26m 6260 R 2.6 2.6 0:20.82 apache2
8142 www-data 17 0 96536 28m 7024 R 2.6 2.7 0:09.55 apache2
8158 www-data 17 0 84420 18m 5480 S 2.6 1.8 0:06.44 apache2
8161 www-data 16 0 88452 22m 5924 S 2.6 2.2 0:09.34 apache2
8171 www-data 17 0 91236 25m 5648 R 2.6 2.4 0:05.09 apache2
8088 www-data 17 0 88132 22m 6456 S 2.2 2.2 0:14.52 apache2
8009 www-data 17 0 91484 26m 6468 S 1.9 2.5 0:17.19 apache2
8116 www-data 16 0 91204 24m 7176 S 1.6 2.4 0:15.72 apache2
8029 www-data 17 0 92784 26m 7708 S 1.3 2.6 0:23.54 apache2
7964 www-data 17 0 86836 22m 7676 R 1.0 2.2 0:24.60 apache2
8032 www-data 16 0 84836 20m 7564 S 1.0 2.0 0:17.05 apache2
8084 www-data 17 0 99564 32m 6796 R 1.0 3.2 0:15.57 apache2
8148 www-data 15 0 91424 26m 6356 S 1.0 2.5 0:08.83 apache2
8062 www-data 17 0 88708 23m 7592 S 0.6 2.3 0:13.60 apache2
8108 www-data 17 0 92492 25m 6832 S 0.6 2.5 0:18.80 apache2
8153 www-data 17 0 82604 16m 5364 S 0.6 1.6 0:07.91 apache2
8006 www-data 17 0 85296 20m 7052 S 0.3 2.0 0:18.04 apache2
8014 www-data 17 0 88696 25m 8124 S 0.3 2.4 0:19.57 apache2
答案1
如果您在本地 Web 服务器上运行某些资源密集型进程,那么这些连接可能就是问题所在。但连接数过多并不是什么坏事(连接数也不算多),问题在于过多的连接数造成的。
如果您的机器运行缓慢,请查看负载。检查 的top
输出中是否有高 CPU 进程。查看 php 是否用完了所有内存。简而言之,检查整个机器。
您可以lsof -i
以 root 身份运行,获取有关该 Web 服务器以及谁在联系它的更多信息。但您大概已经知道了,因为(大概)您已经设置了它。
答案2
某些 PHP 脚本正在通过 http 访问您的 Web 服务器(可能使用 curl 函数?),或者您在 Apache 配置文件或某些.htaccess
文件中以错误的方式配置了 ErrorDocument 页面。
基本上,如果您以这种方式配置ErrorDocuments:
ErrorDocument 404 http://yourhost/someerrorpage.html
但这someerrorpage.html
并不存在,一个很好的小递归循环已经准备好了,并且可以非常有效地降低你的服务器性能。
您读过 Apache 日志吗?如果使用您选择的文本查看器浏览日志没有发现任何内容,请尝试将您的访问日志提供给webalizer
其他分析器并查看访问最多的 URL。如果有大量重复错误,还请查看错误日志。