Linux ‘ss’ 命令 - TCP 连接

Linux ‘ss’ 命令 - TCP 连接

我在运行几个 gatling 和 AB perf 测试时得到了以下输出/摘要,这是命令的结果 -

$ ss -stplu

输出 -

Total: 517 (kernel 0)
TCP:   11261 (estab 3, closed 11254, orphaned 1, synrecv 0, timewait   11235/0), ports 0

Transport Total     IP        IPv6
*      0         -         -        
RAW      1         0         1        
UDP      0         0         0        
TCP      7         5         2        
INET      8         5         3        
FRAG      0         0         0        

Netid State      Recv-Q Send-Q                       Local    Address:Port                                        Peer Address:Port                
tcp   LISTEN     0      128                                      *:59122                                                  *:*                    
tcp   LISTEN     0      100                              127.0.0.1:smtp                                                   *:*                    
tcp   LISTEN     0      128                                     :::59122                                                 :::*                    
tcp   LISTEN     0      100                                    ::1:smtp                                                  :::*                    

我看到它已经“关闭了 11254”,不知道这是否正常,或者我需要担心并调整主机上的设置。需要您的建议。

答案1

在您的列表中,timewait计数是充分利用closed计数的内容。

您有许多 TIME-WAIT 套接字(从应用程序的角度来看它们确实已关闭),但无需担心。大多数应用程序使用 SO_REUSEADDR 套接字选项来处理这些问题,因此如果系统用尽本地端口号,TIME-WAIT 套接字将被重新使用。

无论如何,SO_REUSEADDR 的缺少都会变得明显,因为应用程序会告诉您 EADDRINUSE“地址已在使用中”。

关于 TIME-WAIT 状态和 SO_REUSEADDR 的典型答案

相关内容