Hi, <div><br></div><div>I'm a rabbitmq newbie and am trying to run some experiments to figure out if rabbitmq would serve my use case.</div><div><br></div><div>I would like to create queues in the order of 100,000s. (one for each of my customers).</div>
<div><br></div><div>I ran various tests, </div><div><br></div><div>I'm using the latest 2.6.0 server and 2.6.0 client, and the following tests in durable queues mode and in non-durable queues mode.</div><div><br></div>
<div>Tests,</div><div>1) to create 1000 queues , produce, consume</div><div>2) to create 10000 queues , produce, consume</div><div>3) to create 50000 queues, produce and consume.</div><div><br></div><div>It works like a charm and the memory usage even with 50,000 queues seem very reasonable. (the order of 1-1.7G)</div>
<div><br></div><div>However I realized when i wanted to shutdown the broker before starting a new test, the stop command (rabbitmqctl stop) took a long time </div><div>to complete.</div><div><br></div><div>I made a small chart of how long the stop command on the broker takes to execute after the test creates 'N' queues listed below.</div>
<div>Also, in the case of durable queues, i found some weird numbers for the time taken to restart the queues after a clean/unclean(aborting broker) stop</div><div><br></div><div><span class="Apple-style-span" style="font-size: 13px; background-color: rgb(255, 255, 255); "><div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; ">
<font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><b>NON_DURABLE_QUEUES TEST</b></span></font></div><div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><b>No of Queues Stop Time</b></span></font></div>
<div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">1000 10.7 seconds</span></font></div>
<div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">10000 2 minutes</span></font></div>
<div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">50000 11 minutes</span></font></div>
<div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><br></span></font></div><div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; ">
<font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><b><br></b></span></font></div><div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><b>DURABLE_QUEUES TEST</b></span></font></div>
<div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><b>No of Queues Start Time Stop Time</b></span></font></div>
<div><font face="georgia, serif"><div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">1000 2 seconds 10 seconds </span></font></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">10000 24 seconds 2 minutes </span></font></div>
<div style="font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 16px; "><span style="line-height: 18px; white-space: pre; ">10000 after crash it recovers in 20 seconds (on improper shutdown).</span></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">50000 even at 6 minutes the queues doesn't start on a improper shutdown</span></font></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><br></span></font></div><div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; ">
<font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><br></span></font></div><div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">Query 1)</span></font></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">I am curious as to what causes the latency to stop the broker when issued a rabbitmqctl stop command. It seems to be something to do with the number of queues created as the stop time increase proportionally as the number of queues increases.</span></font></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><br></span></font></div><div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; ">
<font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">Query 2) </span></font></div><div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">In the case of durable queues, I measured the time taken to restart the broker after stopping it (a clean and unclean stop). </span></font></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">I found that even after a clean/unclean stop the time to restart the broker was just about 20 seconds on an average.</span></font></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">However, in the case where i created 50000 durable queues and did an unclean stop(just aborted the broker) and tried to restart the broker it didn't start for over to 6 minutes (when I gave up)...</span></font></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "> It was hung in the step of "starting exchange,queue and binding recovery.." It will be great if someone could explain why this could be caused.</span></font></div>
<div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><br></span></font></div><div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; ">
<font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">It will be great if someone could answer the above queries or provide me with some pointers about the same. </span></font></div><div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; ">
<font face="georgia, serif"><span style="line-height: 18px; white-space: pre; "><br></span></font></div><div style="line-height: 16px; font-family: Verdana, Helvetica, Arial, sans-serif; "><font face="georgia, serif"><span style="line-height: 18px; white-space: pre; ">Thank you for your help,</span></font></div>
</font></div></span></div><div>-- <br>-Praveen<br>
</div>