你想通过执行ping google.com来判断网络连通性么? 由于 nio 的普及, ck10k 的问题已经成为过去式。现在随便一台服务器,就可以支持数十万级别的连接了。那么我们来算一下,100万的连接需要多少资源。 首先,每一个连接都是文件句柄,所以需要文件描述符数量支持才行,每一个socket内存占用15k-20k之间,这样,仅维护相应socket,就需要 20G 内存;而广播一个1KB的消息需要占用的带宽为 1000M ! 查看当前系统的连接 如何看当前系统有多少连接呢?可以使用 netstat 结合 awk 进行统计。如下脚本,统计了每一种状态的tcp连接数量 # netstat -antp | awk '{a[$6]++}END{ for(x in a)print x,a[x]}' LISTEN 41 CLOSE_WAIT 24 ESTABLISHED 150 Foreign 1 TIME_WAIT 92 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' ( netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ TIME_WAIT 8947 等待足够的时间以确保远程TCP接收到连接中断请求的确认