Hi,<br><br>I've fallowed your instructions and configured my RabbitMQ server under windows to use different configuration setup:<br><br>1) [{rabbit, [{vm_memory_high_watermark, 0.80}]}].<br>2) [{rabbit, [{vm_memory_high_watermark, 0.40}]}].<br>
3) [{rabbit, [{vm_memory_high_watermark, 0.25}]}].<br>4) [{rabbit, [{vm_memory_high_watermark, 0.20}]}].<br>5) [{rabbit, [{vm_memory_high_watermark, 0.10}]}].<br><br>Every time I've started RabbiitMQ server with one of the previous configuration and then started my Test application but every time the RabbitMQ server crashed down after a few minutes.I don't sincerly find any problem in my application's code and, as I've stated in previous e-mail the test is very simple. Anyway I've attached my project and hope someone can test my application under different machine then window because for the moment I'm unable to operate this kind of test. Hope to have a response. Thanks, best regards<br>
<br>P.S. (How to use the project):<br><br>The attached file is a MAVEN project (platform independent) which produces as output an executable project. The project is composed by two sub-modules, one is use to test ActiveMQ and another one is used to test RabbitMQ. Basically the project is a ready to go for running, just configure the properties file (server connection, login, etc.). The configuration files are respectively placed under "${broker_type}mq/publisher/data/publisher.properties". Both the two sub-modules (and both publisher or subscriber applications) produces as output a .csv file under the folder "${broker_type}mq/${application_type}/results" where are printed some test results. Also the messages number and the size of the message can be configured to the publishers by using the file located under the folder "${broker_type}mq/${application_type}/data/${broker_type}MQTesterPublisher.txt" (an example is already provided).<br>
<br>Cristoforo.<br><br><div class="gmail_quote">2011/1/14 Matthew Sackman <span dir="ltr"><<a href="mailto:matthew@rabbitmq.com">matthew@rabbitmq.com</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br>
<div class="im"><br>
On Tue, Jan 11, 2011 at 12:44:54PM +0100, Crisoforo Seccia wrote:<br>
> . Am I adopting a very strange test case which is not well handled by<br>
> RabbitMQ?<br>
<br>
</div>Not really, no. However, there are problems with RabbitMQ under Windows,<br>
and you may have to do some tweaking of the configuration. The fact that<br>
you crashed on an eheap allocation suggests that Rabbit tried to<br>
allocate memory that Windows refused it.<br>
<div class="im"><a href="http://www.rabbitmq.com/extensions.html#memsup" target="_blank">http://www.rabbitmq.com/extensions.html#memsup</a><br>
<br>
</div>Rabbit by default assumes that it's the only application running on a<br>
machine, and thus it can expect to be allocated all memory. You may<br>
wish, as suggested in the above page, to try reducing the<br>
vm_memory_high_watermark and repeat the tests.<br>
<div class="im"><br>
> . Is there any connection with the solved bug described in the RabbitMQ 2.2<br>
> release notes (“fix memory leak when long-running channels consume and<br>
> cancel on many queues”)?<br>
<br>
</div>Nope - that bug would have likely taken months of constant tripping to<br>
actually result in any sizable memory leak.<br>
<div class="im"><br>
> . How does RabbitMQ handle message flooding? As stated in ActiveMQ official<br>
> page, the flow control, in the current version means that: “if the broker<br>
> detects that the memory limit for the destination, or the temp- or<br>
> file-store limits for the broker, have been exceeded, then the flow of<br>
> messages can be slowed down. The producer will be either blocked until<br>
> resources are available or will receive a JMSException”.<br>
<br>
</div>Again, the above link will explain it all, but in short, Rabbit uses TCP<br>
back pressure to prevent producers flooding it with too many messages.<br>
Ultimately, you're always limited by the rate at which you can get rid<br>
of messages - whether to clients or to disk. In effect, RAM just acts as<br>
a huge (hopefully!) buffer.<br>
<br>
Matthew<br>
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
</blockquote></div><br>