← Back to team overview

graphite-dev team mailing list archive

Re: [Question #172630]: Can't seem to be able to tune carbon for AMQP

 

Question #172630 on Graphite changed:
https://answers.launchpad.net/graphite/+question/172630

    Status: Open => Answered

chrismd proposed the following answer:
Unfortunately there is a major performance bottleneck in the txamqp
library carbon uses to speak AMQP, at least there was last time I tested
it several months ago. Basically its because the serialization/framing
of the AMQP protocol is all done in pure python, so it is not very CPU
efficient. You'll probably see carbon using 100% CPU all the time even
when you send it only a couple thousand metrics.

My suggestion is to send datapoints either via the plaintext protocol,
or if that too becomes a CPU bottleneck then via the pickle protocol
(described in a few past questions on this answers forum). If you want
to press on with AMQP though I would suggest setting
AMQP_METRIC_NAME_IN_BODY = True in your carbon.conf and change the
format of each message to be the same as the plaintext protocol (ie.
metric value timestamp\n(rinse & repeat)). This will let you pack more
datapoints into each message to reduce overhead.

-- 
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.