[zeromq-dev] Curve messaging security capacity

Luca Boccassi luca.boccassi at gmail.com
Fri Jan 5 14:45:45 CET 2018

On Fri, 2018-01-05 at 12:46 +0000, Stephen Gray wrote:
> I'm building up a 'clone' pattern distributed app for transmission of
> time-series data using CZMQ and with the option to either enable or
> disable CURVE security ala IRONHOUSE.
> It has a PUSH->{PROXY: PULL->PUB}->SUB arrangement for delivery of
> latest updates and ROUTER->DEALER for data history requests and
> responses.
> It's functioning nicely in initial testing, both with CURVE enabled
> or disabled.
> However when I increase the number of data points (from a few
> hundred) to one million it starts creating an issue.
> With CURVE disabled the million data points (requested DEALER->ROUTER 
> as 1000 messages x 1000 data points each) are requested, delivered
> and synchronised in the blink of an eye.
> When CURVE is enabled then the client just gets DISCONNECTED whenever
> it tries to connect & make the 1000 x 1000 message requests.  The
> 1000 requests are fast and sequential.  I tried changing to 100
> messages x 10000 datapoints; but this made no difference.
> Are there some messaging limits in the CURVE protocol.  Anyone know
> why I might get this behaviour?
> With thanks,
> Stephen.
> P.S. Code for this is long & involved, too much to expect anyone to
> read. ;-)

Have you tried profiling to see where the bottleneck is?

If it's in the crypto primitives, check whether you are using libsodium
or the embedded tweetnacl. IIRC libsodium supports hardware
accelerators, including recent-ish CPU instructions.

I don't think I've seen benchmarks before.

Kind regards,
Luca Boccassi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20180105/8ff9e299/attachment.sig>

More information about the zeromq-dev mailing list