<DIV>runjava.bat com.rabbitmq.examples.PerfTest -y 0 -t "fanout"<BR>starting producer #0<BR>time: 1.000s, sent: 31063 msg/s<BR>time: 2.001s, sent: 59184 msg/s<BR>time: 3.001s, sent: 61560 msg/s<BR>time: 4.001s, sent: 62564 msg/s<BR>time: 5.001s, sent: 59613 msg/s<BR>time: 6.002s, sent: 38134 msg/s<BR>time: 7.002s, sent: 53956 msg/s</DIV>
<DIV>connection: 5.7MB/s, flow state<BR>channel: 62,706/s, running state</DIV>
<DIV><BR>runjava.bat com.rabbitmq.examples.PerfTest -y 0 -t "fanout" -s 200 -r 2000<BR>starting producer #0<BR>time: 1.000s, sent: 1655 msg/s<BR>time: 2.000s, sent: 2000 msg/s<BR>time: 3.000s, sent: 2000 msg/s<BR>time: 4.000s, sent: 2000 msg/s<BR>time: 5.000s, sent: 2000 msg/s<BR>time: 6.000s, sent: 2000 msg/s<BR>time: 7.000s, sent: 2000 msg/s</DIV>
<DIV>connection: 563kB/s, running state(never see flow state)<BR>channel: 2,000/s, running state</DIV>
<DIV> </DIV>
<DIV>This is my test result, it really very faster than my applicaion.</DIV>
<DIV>I use rabbbitmq-c(a c language lib), i found it demo is also faster than my app.</DIV>
<DIV>I have add a rate limit to my app, my msg size is about 100~200 byte, i found if message rate > 2000, the connection is always going to flow state(<500KB/s).</DIV>
<DIV>It really strange, the different my app with this demo is my app is a tcp client, it receive msg from a tcp server, do some convert and publish to RabbitMQ.</DIV><div><br></div><div><br></div><div style="font-size: 12px;font-family: Arial Narrow;padding:2px 0 2px 0;">------------------ Original message ------------------</div><div style="font-size: 12px;background:#efefef;padding:8px;"><div><b>From:</b> "Michael Klishin"<mklishin@gopivotal.com>; </div><div><b>Sendtime:</b> Tuesday, Jul 8, 2014 6:07 PM</div><div><b>To:</b> "Lost"<w_pg@qq.com>; "rabbitmq-discuss"<rabbitmq-discuss@lists.rabbitmq.com>; </div><div><b>Subject:</b> Re: [rabbitmq-discuss] Connection is always in "flow" State.</div></div><div><br></div>On 8 July 2014 at 13:39:59, Lost (<A href="mailto:w_pg@qq.com" target=_blank>w_pg@qq.com</A>) wrote:<BR>> > Yes, just one connection, one channel and publish to a exchange(no <BR>> any queues to bind it.)<BR><BR>You can simulate this setup with PerfTest [1]:<BR><BR>./runjava.sh com.rabbitmq.examples.PerfTest -y 0 -t "fanout"<BR><BR>and tweak various options such as message size.<BR><BR>For example, running PerfTest with the options above stabilizes<BR>at about 65-70 K messages per second on my (1 gen old, not maxed-out)<BR>MacBook Pro.<BR><BR>1. <A href="http://www.rabbitmq.com/java-tools.html" target=_blank>http://www.r<WBR>abbitmq.com/<WBR>java-tools.h<WBR>tml</A><BR>--<BR>MK <BR><BR>Staff Software Engineer, Pivotal/RabbitMQ