我们目前正在将ZeroMQ从版本2.2.12升级到版本4.0.5,我们发现自升级以来性能差得多。
我们有一个相当简单的DEALER / DEALER拓扑,它具有1:1或1:多个连接。我们正在使用轮询在连接的任一端运行消息泵。
我们正在使用许多不同的绑定(ffi-rzmq,clrzmq,jzmq和zmq_cpp)来允许用不同语言编写的组件进行通信。我们所有的组件似乎都遇到了相同的性能问题。
我们使用环回(127.0.0.1)TCP套接字在Windows 7下运行。
有没有人对可能出现的问题有任何想法(或者我在这里需要提供的任何其他信息?)
答案 0 :(得分:0)
事实证明,性能并不慢,而是某些组件之间的消息丢失导致系统行为不端。
这是由我们在系统的某个部分使用不受支持的套接字对(DEALER / PUSH)和(DEALER / PULL)引起的。这在ZeroMQ 2中有效,但不是4。
修复方法是替换为支持的拓扑(在我们的例子中为DEALER / DEALER)。