0

We are currently upgrading ZeroMQ from version 2.2.12 to version 4.0.5 and we are finding that the performance is considerably worse since we upgraded.

We have a fairly simple DEALER/DEALER topology with either 1:1 or 1:many connections. We are running a message pump on either end of the connection using polling.

We are using a number of different bindings (ffi-rzmq, clrzmq, jzmq and zmq_cpp) to allow components written in different languages to communicate. All of our components seem to suffer from the same performance problems.

We are running under Windows 7 using loopback (127.0.0.1) TCP sockets.

Has anyone got any ideas of what could be wrong (or even any additional information I'll need to provide here?)

Graham Dawes
  • 229
  • 1
  • 3
  • I suggest you get some hard numbers and go to the [ZMQ mailing list](http://lists.zeromq.org/pipermail/zeromq-dev/). At minimum you'll need some example code that shows how you're doing what you're doing, any edge cases you may be invoking. – Jason Mar 31 '15 at 21:18

1 Answers1

0

It turns out the the performance isn't slow, it was that messages between certain components where going missing causing the system to misbehave.

This was caused by us using an unsupported socket pair (DEALER / PUSH) and (DEALER / PULL) in a certain part of our system. This worked in ZeroMQ 2 but not 4.

The fix was to replace with with a supported topology (DEALER / DEALER in our case).

Graham Dawes
  • 229
  • 1
  • 3