Hi Alexander,
3x is the exact drop we've observed in our performance tests, when both
AMQP and inter-node TLS is enabled. And you can't do anything on
Erlang/RabbitMQ side to fix this.
Just consider this worst case scenario for a message roundtrip in a
cluster:
1) Message is published via AMQP
2) A node where client connection resides pushes this message to a node
where a queue process resides
3) The queue process delivers the message to yet another node, where a
consumer connection is open
4) Message is delivered to the consumer using AMQP
So when TLS is enabled everywhere, each of these steps include
encryption and decryption of the whole message.
My personal opinion is that you should use some external mechanism for
securing inter-node communication - something like IPSec. And use TLS
only for AMQP.
But in our production environments we've decided not to use TLS at all =)
Best,
Alexey