如何解决如何优化套接字io性能?
我已经设置了用于实时聊天(单人,团体)的服务器。客户端以一定的时间间隔将其数据发送到服务器。服务器还会以一定的间隔将数据发送给其他用户,再发送给客户端。
如果我在聊天中添加更多用户,则性能会变差。我现在如何改善性能?
我可以使用更大的间隔来创建更稳定的性能吗?
或者您还有其他想法吗?
并且是否有调试工具来检查哪些服务器操作会使服务器减速?
socket.io是否支持很多用户聊天?
我正在使用socket.io 2.x
。
解决方法
在评论中进行后续讨论时,除了进一步调查该问题之外,没有足够的信息来提出其他建议。
-
即使向成千上万的用户发送5个字节的数据(确实是??)也不应阻塞网络。但是,这归结为实施细节。也许您用发送的每条消息重新建立套接字连接。也许您通过发送消息来阻止线程。或类似的事情发生
-
您提到一个数据库。你有看过吗?也许数据库是瓶颈。
您可以在how to implement time profiling for nodeJS上阅读这篇文章。除此之外,请尝试实施一个简单的脚本来隔离问题。例如
-
测量将简单消息发送给大量用户所需的时间。用户数量越多/信息越长,时间是否会显着增加?
-
测量在数据库中查找相关内容所花费的时间
在此处发布相关代码,并要求第二只眼睛检查问题。
,使用Socket.io的二进制模式 Socket.io为WebSockets传输提供了端到端的“二进制模式”(并且是XHR Polling的一个不错的变体)。触发二进制模式所需要做的就是使用缓冲区。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。