Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: dff7c2fbff

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
jinja2
raginei
static
templates
werkzeug
.gitignore
LICENSE.txt
README.md
bench.py
bench.sh
config.py
http_load
http_load.c
http_load.c.org
main.py
main.wsgi
memcache.py
vhost.conf

README.md

ベンチマーク

bench.sh を実行すると、ベンチマークが実施されます。 中身を見れば分かりますが、計測前にデータベースをTruncateしてbench.pyを起動しているだけです。

ベンチマークの主な処理はbench.pyのなかにあります。 http_loadを使ってHTTP GETで負荷をかけながら、 PythonでPOSTとPOSTした内容が反映されているかどうかのチェックを行なっています。

並列10で実施した場合、http_loadで9並列でGETを行い、 Python側でGETとPOSTを交互に行いながらチェックします。

また、ベンチマークを実施すると、そのスコアを集計サーバへ送信する処理があります。 そのままだと無効化されています。 SCORE_HOSTに集計サーバのIPを記載し、send_score関数の先頭のreturnを削除すると、集計サーバに結果をPOSTします。

管理側からの最終計測は.shではなく直接Pythonを使って python bench.py xxx.xxx.xxx.xxx -s10 のように実行しました。 「Truncateなど、計測して欲しい状態にするのもチューニングのうち」なので。

結果の集計

前述のベンチマークで使用するファイル以外は、すべて各ユーザからの結果の送信を受け取って表示するアプリです。 Apache + mod_wsgiの環境を用意した上で、vhost.confを環境にあわせて書き換えて起動すれば動きます。

Something went wrong with that request. Please try again.