tuningathon3

Created: 2012-03-25 02:50
Updated: 2014-11-15 02:06
License: other

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を環境にあわせて書き換えて起動すれば動きます。

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more