RabbitMQ and PerfTest

313 views
Skip to first unread message

Chanan Berler

unread,
Jul 5, 2017, 5:07:48 AM7/5/17
to rabbitmq-users
Hi All,

I have a kubernetes cluster running RabbitMQ deployment and a service exposing 5671 (ssl secured) port for it.
We already have other deployments running python connecting to RabbitMQ and sending messages.
Now i need to run performance test - so i choose to use PerfTest.

When trying to connect - it returns with connection reset.
Checking:
1) I do have a user perftest - I can see it listed using RabbitMQ admin and it does have permissions for /
2) Connection to RabbitMQ is opened - i have exposed both rabbitmq and rabbitmq admin to all deployment and using curl i can see the login page.
3) all SSL .crt , .key and .ca crt are in place under /tls

Q1: So why i am failing to run PerfTest?
Q2: Am I using the right amqps arguments?

Thanks
Chanan

bash-4.3# runjava com.rabbitmq.perf.PerfTest --uri "amqps://preftest:preftest@messagebus:5671?cacertfile=/tls/ca.crt&certfile=/tls/rabbitmq.crt&keyfile=/tls/rabbitmq.key"

id: test-084834-882, starting consumer #0
Main thread caught exception: java.net.SocketException: Connection reset
java.net.SocketException: Connection reset
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:115)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
        at sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:431)
        at sun.security.ssl.OutputRecord.write(OutputRecord.java:417)
        at sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:876)
        at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:847)
        at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:717)
        at sun.security.ssl.Handshaker.sendChangeCipherSpec(Handshaker.java:1124)
        at sun.security.ssl.ClientHandshaker.sendChangeCipherAndFinish(ClientHandshaker.java:1216)
        at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:1128)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:348)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
        at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:747)
        at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at java.io.DataOutputStream.flush(DataOutputStream.java:123)
        at com.rabbitmq.client.impl.SocketFrameHandler.sendHeader(SocketFrameHandler.java:147)
        at com.rabbitmq.client.impl.SocketFrameHandler.sendHeader(SocketFrameHandler.java:153)
        at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:285)
        at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:62)
        at com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:99)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:900)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:859)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:817)
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:954)
        at com.rabbitmq.perf.MulticastSet.run(MulticastSet.java:81)
        at com.rabbitmq.perf.PerfTest.main(PerfTest.java:134)
bash-4.3#

Michael Klishin

unread,
Jul 5, 2017, 8:15:24 AM7/5/17
to rabbitm...@googlegroups.com
See server logs, all TLS-related errors will be logged there, as well as successful TCP connections that send
at least some data.

"Connection reset" is unambiguous, however: the server rejected TCP connection (e.g. it's not listening
on port 5671).

Setting up certificate, key and so on via URI is not currently supported by PerfTest (or Java client it uses, IIRC).
TLS per se should be enabled for "amqps" URIs, though.
You can use PerfTest as a library in case your server under test cannot accept certificateless clients.


--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-users+unsubscribe@googlegroups.com.
To post to this group, send email to rabbitmq-users@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
MK

Staff Software Engineer, Pivotal/RabbitMQ
Reply all
Reply to author
Forward
0 new messages