【发布时间】:2019-05-27 12:51:15
【问题描述】:
我正在使用 socket.io 在客户端/服务器之间发送/接收消息。服务器有一个 Redis 实例,用于存储数据并在几毫秒内响应数据。
一些套接字需要很长时间才能返回数据(字符串化的大型 JSON 对象),尽管它几乎是立即从服务器端发送的。因此,我正在寻找解决以下问题的建议:
- socket.io 需要这么长时间才能发出长字符串是否正常?
- 我如何知道哪个方法或套接字正在执行需要很长时间的发射?
- 关于如何提高性能的任何进一步建议?
非常感谢您的帮助
更新:
我尝试使用 Webdis 向客户端提供响应,而不必去服务器获取 Redis 结果。然而,虽然响应出现在console.log 中大约1 秒(与下面的DOMLoadedContent 相同),但websocket 仍然需要大约20 秒并显示0 字节,如下所示:
【问题讨论】:
-
字符串有多长?您将其称为“长字符串”。是兆字节还是什么的?
-
@Nate 最长的大约 19.5 兆字节
-
嘿@AfshinGhazi,到目前为止在这个问题上运气好吗?
-
@ForgetfulFellow 还没有解决。我使用 Webdis 将 Redis 数据快速提供给客户端而不是服务器(然后将提供给客户端)。但是我不明白为什么 websocket 需要大约 20 秒才能完成,而数据的 console.log 大约需要 1 秒。
标签: javascript node.js sockets websocket socket.io