有台阿里云测试服务器很奇怪,偶尔会出现无法访问的情况,过几分钟就恢复了。
ssh登录不上,80端口的网站也访问不通,但是已经通过ssh登录的终端可以正常操作。
- IP是可以ping通的。ssh连接会失败:
[ws655@local~/Desktop] ]$ssh -v 150
OpenSSH_8.4p1, OpenSSL 1.1.1h 22 Sep 2020
debug1: Reading configuration data /c/Users/ws655/.ssh/config
debug1: /c/Users/ws655/.ssh/config line 117: Applying options for 150
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 101.20.213.* [101.20.213.*] port 22.
- 服务器的CPU,内存,带宽,都没有异常。
top - 17:54:14 up 73 days, 7:27, 3 users, load average: 0.26, 1.09, 1.16
Tasks: 149 total, 1 running, 147 sleeping, 0 stopped, 1 zombie
%Cpu(s): 14.0 us, 4.5 sy, 0.0 ni, 81.1 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 8008968 total, 1274012 free, 1211236 used, 5523720 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 5966912 avail Mem
- 服务器线程打开文件数量也是正常的。
$lsof | wc -l
892
$ulimit -n
65535
改过 ssh 的连接数量,不管用。
新情况,我换了个wifi又可以登录了。
现在最奇怪的是“新建ssh连接登录不上,但是已经通过ssh登录的终端可以正常操作 。”
可能是你的服务器连接数量太多,新的连接无法正常建立,需要等待连接释放后才能建立起新的连接,可以监控下TIME_WAIT和CLOSE_WAIT状态的连接数的数量:
netstat -antlp|grep TIME_WAIT|wc -l
netstat -antlp|grep CLOSE_WAIT|wc -l
按照4个cpu,8G内存的规格CLOSE_WAIT数量达到2000左右就可能开始连接建立不上了,同时也可以抓包确认下,一般通过修改内核参数就可以解决。