不能。

原因很简单。tcping 只做一件事。发一个 SYN。看对面回不回。回得多快。

一个连接。就一个。

那么它回答的是端口开没开。不是能扛多少连接。

有人看到十几个节点全绿,就以为这服务扛得住一波流量。这是两件事。

tcping 能测出什么

端口通不通。握手多久。不同地区差多少,香港 20 毫秒,广州 2 秒。连着测会不会偶发失败。

这一条有点用。连着测出现零星超时,说明服务端开始顶了。但这不是上限,只是接近了。

能测 测不了
端口是否开放 并发上限是多少
单次握手耗时 吞吐量 QPS
多地区差异 连接池耗尽点
偶发失败率 长连接能稳住多久

上限是一串参数

服务端这边:somaxconn、worker 数、连接池、fd 上限。

中间还有:防火墙连接表、NAT 端口、云厂商清洗阈值。

客户端这边:你的出口带宽、能用多少源端口。

tcping 一个都不碰。它只测第一跳。

真要测并发用什么

wrk、ab、vegeta 都行。思路一样。外部机器打,逐步加并发,看哪一档开始拐弯。

wrk -t4 -c200 -d30s https://你的域名/

c 从 50 加到 200,再到 500。每档看三个数。错误率、P99、服务端 CPU。

错误率开始涨的那档,就是拐点附近。

测之前先改两个参数。不然测的是内核,不是服务。

sysctl -w net.core.somaxconn=65535
ulimit -n 65535

nginx 还有 worker_connections。默认 512。这个不调,几十个并发就到顶。压出来全是 502。

坑说两个。

别直接压生产。我图省事在生产上跑过。跑到一半监控告警,差点把服务打挂。

别在办公网测。出口带宽和 NAT 端口先到顶。你测出来的是自己路由器。

拨测在这件事上还有用吗

有。两个用。

压测前后各跑一次,当基线。同一批节点,握手耗时涨了多少,比绝对值有用。

然后看分组。只有某个运营商慢,多半是链路。全都慢,才是服务端。

三个常见的搞混。

端口开着,不代表服务正常。进程可能已经卡死,只留了个 listen。

握手快,不代表处理快。先连上再慢慢回,用户还是转圈。

单节点慢,不代表服务端有问题。先拿拨测看是不是只有那一片。

在线 tcping 入口:https://t.bt.cn/http/

想测通不通,tcping 够。想测扛不扛,它不够。