数据通过 TCP/IP 堆栈的传输时间 (Linux)

Travelling time of data through TCP/IP stack (Linux)

我想知道从我打电话的那一刻起经过了多少时间

res.send("Hello,World") 

在我的 NodeJS 应用程序中,直到 IP 包离开 NIC 卡的那一刻。 有办法吗?

我为什么想知道这个?

我在 CentOS6 上有一个服务 400 req/s 的服务器。生成请求的合作伙伴测量我的响应时间。最近请求率增加到 800 req/s,合作伙伴检测到我的响应时间增加了。从我的应用程序收到请求到它发出 res.send() 的时间没有改变。因此,假设是 Linux TCP/IP 堆栈变慢了。我想通过实际观察 TCP/IP 堆栈处理我的响应所需的时间来验证这个假设。

res.send() 被调用后,包 已经 离开了 NIC。您感兴趣的是 send() 花费的时间。