Closed pavel-odintsov closed 7 years ago
It's quite a log for single python process. Python is not CPU scalable because of GIL. Try to split your load to 2,4,6.. carbon caches using carbon relay
Thanks for answer! Will try it! but will be nice to know what's function consumes so much CPU and re-implement it in C language instead.
There are carbon(-cache|-relay)? implementations in go, perhaps that's something interesting for you. Never used them myself can't say alot about it ;-)
Yes, you can try go-carbon too - https://github.com/lomik/go-carbon
Hi, we had some success whit using pypy as interpreter instead of the default python interpreter. Our load was handled by 5 -cache instances using python. With pypy two instances were able to handle the same load.
I'd second the pypy comment - worked great for revitalizing an older cluster.
Hello!
I've pretty graphite instance which receives about 50k data points each 3 seconds. It's not so much because my server is pretty fast.
But actually carbon-cache process consumes plenty of cpu power:
I could offer perf top output:
Do you have idea what's PyEval_EvalFrameEx is and how I could avoid it?
I'm using 0.9.12-3 from Ubuntu 14.04.