graphite-dev team mailing list archive
-
graphite-dev team
-
Mailing list archive
-
Message #01456
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.