[rabbitmq-discuss] High cpu usage for Java RabbitMQ client? (solved, my fault)
Robert.Elsner at echostar.com
Wed Mar 25 11:41:33 GMT 2009
> The instructions do indeed need fixing. We are aware of that, but just
> haven't found the time to do it yet.
There's never enough time for documentation :)
> > Also, I have looked through the AMQP lists a little bit and saw some
> > discussion of a compressed or binary wire format, specifically
> > relating to market quotes. It looks like this is slated for 1.0, but
> > that would be ideal for me (since AMQP overhead is ~30-50% of my
> > message size now). Is there a roadmap to adoption?
> You are the first person to ask about this :) We have thought about more
> compact encodings for messaging than present in AMQP. See, for example
> Tony's "Streamlining HTTP" post
> (http://www.lshift.net/blog/2009/02/27/streamlining-http), but we have
> no concrete plans for implementation yet.
Have you thought about approaching the AMQP spec with Thrift or ProtocolBuffers encoding? Tony's post is very much inline with what I've found, we have a few messages that are very small (24 bytes) and some that are larger (~500 bytes) so the AMQP overhead is very noticeable. Disabling positive-ack from the queues helped alleviate some of the traffic, but not enough to matter.
> Does the overhead really cause problems in your setup? Do you end up
> saturating the network?
Well, our current system has about 50 clients each consuming a 3Mbps stream. I was hoping to be able to swap out the backend to AMQP and then perform optimizations using the routing keys. However, the AMQP "stream" would at that point bump to 5-6Mbps. That's not too practical over our WAN links. This just adds a little bit of effort to switch to AMQP, by reworking the client to query the more static data from a DB instead of streaming it over and over (so the discussions I've seen about last quote caching would be a nice feature). The eventual goal is to have clustered brokers that do the traffic management between the remote nodes that generate messages, so that the data that needs to be routed across our WAN links is, but the majority of the data will stay local to the producers for archiving.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rabbitmq-discuss