簡體   English   中英

Nodejs環回TCP延遲1-2ms?

[英]Nodejs loopback TCP latency 1-2ms?

在創建通過 NodeJS 中的環回地址連接的 TCP 服務器/客戶端時,對於簡單的低數據消息,我得到 1-2 毫秒的往返時間。

我沒有太多關於 Node 應該有多快的上下文,但它似乎應該小於 1ms,因為沒有太多的操作正在進行,並且環回 ping 時間以微秒為單位。

我缺少的網絡 package 中是否內置了一些緩沖,或者這種延遲是可以預期的?

服務器:

var net = require('net');

var server = net.createServer((socket) => {
  socket.setNoDelay();

  setInterval(()=>{
    socket.write(process.hrtime.bigint().toString());
  }, 1000)



  socket.on('data', (data)=>{
    console.log("Completed in: " + parseFloat((process.hrtime.bigint() - BigInt(data))/BigInt(1e3))/1000 + "ms")
  })

});

server.listen(1337, '127.0.0.1');

客戶:

var net = require('net');

var client = new net.Socket();
client.connect(1337, '127.0.0.1', () => {
    console.log('Connected');

});

client.on('data', (data) => {
    client.write(data.toString());
});

client.on('close', () => {
    console.log('Connection closed');
});

這是預期的行為。 我確信有優化解釋器的方法,但是如果您的用例需要實時響應時間(<1ms),也許您應該將您的技術堆棧更改為可以更有效地使用 cpu、多線程、io 等的其他語言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM