我在运行几个 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“地址已在使用中”。