[rabbitmq-discuss] .NET Client ConnectionFactory threading issues
Michal Levý
michal.liwoj at gmail.com
Sat Apr 20 05:20:04 BST 2013
Hey
All your tests run just fine on my machine (Win7 64)
CanCreateConnectionsMultiThreaded: Elapsed seconds: 2,9939693
CanCreateConnectionsMultiThreadedWithLock: Elapsed seconds: 4,3135879
Two difference here:
- im connecting to remote RabbitMQ running on Debian (not localhost)
- my client\server version is 3.0.2
Here are few things to consider.
1) You are connecting to localhost. Each Rabbit connection opens 3 sockets
(2 for heartbeats). With 100 connections, its minimum 300 + 300 sockets
trying to open at the same time. Maybe your Win host cant handle it ?
2) Why are you trying to open 100 connection from one machine anyway ? Its
real wasting of resources. Do you know, you can run multiple independent
Rabbit channels on single connection ?
Michal
On Thursday, April 18, 2013 1:37:40 PM UTC+2, Chris Haines wrote:
>
> Hi All,
>
> I have attached a .cs Nunit test fixture to demonstrate a problem I am
> having with the ConnectionFactory. If I create 100 connections in a for
> loop single threaded then I can create them all in about 2 seconds. If I
> create them via a number of threads, in my test I am using 100 threads to
> create a connection on each, then I get a lot of timeout exceptions (my
> test bails out after 60 seconds). I have tried sharing an instance of the
> ConnectionFactory between all threads and also giving each thread its own
> instance but they both have the same result. I have also tried locking
> around the call to CreateConnection but that also didn't help.
>
> I find this behavior to be very strange. Has anyone else had similar
> problems?
>
> Cheers,
> Chris
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130419/677a4ceb/attachment.htm>
More information about the rabbitmq-discuss
mailing list