LoginSignup
1
0

More than 5 years have passed since last update.

carbon-cache + pypy でパフォーマンス改善

Posted at

はじめに

Graphite環境のパフォーマンス改善のために、carbon-cacheにpypyを使ってみたいと思います。(pypyとは?

インストール

今回の環境はCentOS 6です。ビルドしても良いかと思いましたが、epelにパッケージがありました。必要なのは以下の2つ。yum installもしくは、rpm -ivh しましょう。

pypy-2.0.2-2.el6.x86_64.rpm
pypy-libs-2.0.2-2.el6.x86_64.rpm

carbon-cacheの再起動

単に再起動するだけですが、PYTHONPATHを通す必要があります。

$ export PYTHONPATH=/usr/lib64/python2.6/site-packages

$ pypy
Python 2.7.3 (5acfe049a5b0cd0de158f62553a98f5ef364fd29, Aug 09 2016, 09:31:00)
[PyPy 2.0.2 with GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>> import sys
>>>> from pprint import pprint
>>>> pprint(sys.path)
['',
 '/usr/lib64/python2.6/site-packages',
 '/usr/lib64/pypy-2.0.2/lib_pypy/__extensions__',
 '/usr/lib64/pypy-2.0.2/lib_pypy',
 '/usr/lib64/pypy-2.0.2/lib-python/2.7',
 '/usr/lib64/pypy-2.0.2/lib-python/2.7/lib-tk',
 '/usr/lib64/pypy-2.0.2/lib-python/2.7/plat-linux2',
 '/usr/lib64/pypy-2.0.2/site-packages']
>>>>

PATHが通ることを確認したら、再起動します。

python carbon-cache.py stop
pypy carbon-cache.py start

virtualenv環境で起動すると、zope.interface が import できないとエラーをはいて起動できませんでした。
調べてみると、zopeがimportできないことに起因するようで、単に__init__.pyが存在しないだけ(?)でした。
同様のエラーが出る場合は、以下のようにするとよいでしょう。

touch virtualenv/graphite/lib/python2.6/site-packages/zope/__init__.py

結果

リリース前後で比較して、メモリの使用率はあがりましたが、cpu使用率、平均更新時間は下がりました。

carbon-cache.png

この環境は、それほど高負荷ではなく、1分/5分/15分ごとに数千メトリクスの更新で、平均すると1分で1000メトリクス程度の更新ですが、
微妙に改善していることがわかりました。この状態でしばらく運用してみたいと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0