Joh*_*ear 7 performance benchmarking etherpad socket.io ws
我们在 Etherpad 中非常广泛地使用了 SocketIO(从很早开始),我们非常感谢团队为提供如此有用的东西所做的所有努力:)
Etherpad 是一个 nodejs 项目。
我的 SocketIO 问题可能是由于我配置错误或理解错误,但经过大量测试工具生成、内存设置调整等。我们仍然获得令人沮丧的每秒最大消息数,达到 10k 大关。
在线阅读看起来切换到 ws 的性能会更好,但我看不出在我们的场景中情况如何,我们的瓶颈不是协商(最终是 websockets)而是服务器每秒处理的消息。
我不愿意尝试其他软件包,所以我想我会来这里寻求一些见解或尝试看看我们是否可以通过很多方式提高性能......通常的节点技巧(访问更多硬件[ ram/cpu]) 有点帮助,但仍然感觉我们获得的收益非常小,而不是您在其他模块基准测试中看到的巨大数字。
这个问题的一个理想结果是让某人查看 Etherpad 代码并告诉我为什么我是个白痴,希望我们可以让 Etherpad 进入每秒 10 万次更改的竞争中,但我也可能对其他模块感到迷茫因此,如果有人有与 ws 之类的基准相矛盾的基准,那么我全神贯注。
我觉得我应该补充一点,我们进行了测试,看看是否是内部 Etherpad 逻辑造成的,但实际上不是,最终导致操作转换算法出现瓶颈的是通信层,我们有 99.95% 的把握。 .
在这个问题上扔更多的硬件不是解决方案,也不是任何反向代理/传递问题的方法。
小智 1
如果您对“问题”所在视而不见,那么您就没有太多选择。您可能正在寻找不存在的“错误配置”。这可能会浪费你大量的时间和金钱,最终你可能仍然不得不更换。
\n\n\n人们发现,成熟与接受“不知道”密切相关。
\n
重写与负载测试相关的代码片段,以测试使用 uWebSockets 等是否有助于推动债券。有多个消息来源表明 uWebSockets 服务器速度要快得多。我打赌不会花那么多时间,您将获得非常重要的信息,帮助您决定是否值得更换。新的网络技术正在飞速发展,如果您希望能够为产品的未来做出正确的选择,您必须愿意尝试它。亚历克斯·霍特曼写了一篇文章
\n如何-\xc2\xb5websockets-实现高效-pub-sub
\n他鼓励更换并解释为什么值得一试。
\n| 归档时间: |
|
| 查看次数: |
365 次 |
| 最近记录: |