Hello Luke,
--
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-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/469d5bc9-c4a8-4210-915e-4fbaef9213een%40googlegroups.com.
On Thu, Nov 2, 2023, 3:18 PM Marco Zuiderwijk <marco.zu...@beyondsports.nl> wrote:We have a sender application in the East-US region. This one sends messages to a RabbitMq instance which is also hosted in the East-US region. We use CloudAmqp for our RabbitMq instances. The messages are consumed from an application which is running in the Western Europe instance. I created 3 different versions of this application: 1 written in C# (using RabbitMQ.Client 6.6.0), 1 written in Python (using pika 1.3.2) and 1 written in Java (using amqp-client 5.16.0). There is no logic to process the message in the consumer applications. The only thing that is done is count the number of received messages and each second display the number of messages. The python consumer processes > 500 messages / sec (and sometimes > 900), the Java consumer > 300 messages / sec. But my C# consumer only processes 12 messages / sec. This is too slow to process all the messages in the queue. For every consumer I started my implementation with the example code from the RabbitMQ site for the "Hello world" example. The message size in this test is 80kb. Can someone help me to understand why the performance of the C# consumer is so bad compared to the other consumers?
DISCLAIMER:The information contained in this message or any of its attachments may be confidential and is intended for the exclusive use of the addressee(s). Any disclosure, reproduction, distribution or other dissemination or use of this communication is strictly prohibited without the express permission of the sender. The views expressed in this email are those of the individual and not necessarily those of Beyond Sports B.V. or affiliated companies. This email and any response may be monitored by Beyond Sports B.V. and Sony Security Operations Center to be in compliance with Sony's global policies and standards.Beyond Sports B.V.
--
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-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/77a8e3c7-df34-42a1-a463-04c1636aba0fn%40googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/a4617b8a-3637-4ad7-8aff-6610722101cfn%40googlegroups.com.
- How different is the test code you provided compared your real consumer application?
- Can you re-test with the following code running on your C# application startup? https://github.com/rabbitmq/rabbitmq-dotnet-client/blob/a0321c6c2203cedeacdd5c1ec5bcdc924e85a842/projects/TestApplications/CreateChannel/Program.cs#L20
- I have send the results of this test on the 7th November. I tested with my setup across different regions and with RabbitMQ.Client version 5.2.0 and RabbitMQ.Client version 6.6.0. No big differences between both implementations here:
RabbitMQ.Client 5.2.0
Took 823980.5237 ms
Took 801695.5125 ms
RabbitMQ.Client 6.6.0
Took 817612.7372 ms
Took 812592.7311 msI am sorry that this is not clear. But I don't have a situation where the version 6.6.0 of the RabbitMQ.Client version is performing the same as the Java, Python or RabbitMQ.Client version 5.2.0.
From you previous messages I got the impression that you wanted to make a change related to the SocketFactory and / or TcpClientAdapter. The new rc only contained the removal of the 2 buffer sizes. This will affect the performance improvement why the original change was made (as was mentioned by Michael Klishin in a comment on my PR). Is this something that is still an issue, or will this be solved in version 7?
One small comment on the unit test you added: you expect a default buffer size of 8192 bytes. During our tests, we saw that the default buffer size is 65536 bytes. There seems to be a difference between the documentation and the current implementation.