使用ping命令丢包或不通时的链路测试方法

使用ping命令丢包或不通时的链路测试方法

当客户端访问目标服务器出现ping丢包或ping不通时,可以通过tracertmtr等工具进行链路测试来判断问题根源。

本文主要介绍如何通过工具进行链路测试和分析。

 

阅读全文>>

阅读全文...

无法在本地网络环境通过SSH连接Linux实例

无法在本地网络环境通过SSH连接Linux实例

无法在本地网络环境通过SSH连接Linux实例,或者访问该Linux实例上的HTTP业务出现异常。Telnet测试会被reset。

如果您的本地网络是NAT共享方式上网,该问题可能是由于本地NAT环境和目标Linux相关内核参数配置不匹配导致。

 

阅读全文>>

阅读全文...

存在大量处于TIME_WAIT状态的连接

存在大量处于TIME_WAIT状态的连接

首先通过调用close()发起主动关闭,在发送最后一个ACK之后会进入time_wait的状态,该发送方会保持2MSL时间之后才会回到初始状态。

产生这种结果使得这个TCP连接在2MSL连接等待期间,定义这个连接的四元组(客户端IP地址和端口,服务端IP地址和端口号)不能被使用。

 

阅读全文>>

阅读全文...

Linux实例中出现大量CLOSE_WAIT状态的TCP连接

Linux实例中出现大量CLOSE_WAIT状态的TCP连接

根据实例上的业务量判断CLOSE_WAIT数量是否超出了正常的范围。

建议从业务层面及时判断某个连接是否已经被对端关闭,即在程序逻辑中对连接及时关闭,并进行检查。

 

阅读全文>>

阅读全文...

Linux实例中FIN_WAIT2状态的TCP链接过多

Linux实例中FIN_WAIT2状态的TCP链接过多

在HTTP服务中,Server由于某种原因会主动关闭连接,例如KEEPALIVE超时的情况下。作为主动关闭连接的Server就会进入FIN_WAIT2状态。

在TCP/IP协议栈中,存在半连接的概念,FIN_WAIT2状态不算超时,如果Client不关闭,FIN_WAIT2状态将保持到系统重启,越来越多的FIN_WAIT2状态会致使内核Crash。

 

阅读全文>>

阅读全文...

报“Time wait bucket table overflow”错误

报“Time wait bucket table overflow”错误

参数net.ipv4.tcp_max_tw_buckets可以调整内核中管理TIME_WAIT状态的数量。

当实例中处于TIME_WAIT状态,及需要转换为TIME_WAIT状态的连接数之和超过net.ipv4.tcp_max_tw_buckets参数值时,messages日志中将报“time wait bucket table” 错误,同时内核关闭超出参数值的部分TCP连接。

 

阅读全文>>

阅读全文...

Linux实例NAT哈希表满导致ECS实例丢包

Linux实例NAT哈希表满导致ECS实例丢包

Linux实例出现间歇性丢包,无法连接实例。

通过tracert、mtr等工具排查,外部网络未见异常。同时,在系统日志中重复出现大量类似以下错误信息。

阅读全文>>

阅读全文...