Hatena::ブログ(Diary)

風柳メモ このページをアンテナに追加 RSSフィード Twitter

2010-06-20

GAE-Cronのタイマ負荷軽減と不具合修正(version:0.01e)

GAE-Cronのタイマ処理を見直し、負荷の低減を試みました。

version 0.01dの時もそんなことを言っていましたが(苦笑)、今回はより抜本的に修正してみました。

タイマ数が多く、かつ、それぞれの間隔が短い場合に効果的に働くと思います。

250個のタイマ(全て1分間隔:*/1 0 0 0 0)で試したところ、CPU負荷がversion 0.01dと比較して約半分となり、Over Quotaが出なくなりました。

version 0.01d時

f:id:furyu-tei:20100620054111p:image

f:id:furyu-tei:20100620054110p:image

version 0.01e時

f:id:furyu-tei:20100620054109p:image

f:id:furyu-tei:20100620054108p:image

グラフで見れば、0.01dのとき(0.3弱)が0.01eになると約半分(0.15程度)になり、表で見ると特に負荷の大半を占める /gaetimer/timercycle のAvg CPUが545→251と低減しているのがわかると思います。
代わりに/check_timerのAvg CPUが5855→8223と上がっていますが、頻度が140倍以上程度違うため、CPU負荷全体に与える影響は小さくなります。

実験は1ユーザ×250タイマでやっているので多少極端ですが、50ユーザ×5タイマの場合では、前者が1400〜1500回/hour前後程度コールされるのに対して、後者は10回/hour前後程度で、かつ、後者のAvg CPUはもっと下がります。

その他、

  • 管理者権限でログインしたときの[全タイマ設定]ボタンを左上に配置し、他のリンクと押し間違えにくいようにした。
    f:id:furyu-tei:20100620053837p:image
  • トップページにバージョン表示が出るようになった。
    f:id:furyu-tei:20100620053836p:image

他、若干の不具合修正等を行なっています。

設置されている方は、お手数ですが出来ましたら最新版への更新をお願いします。

ダウンロード(version:0.01e):gaecron-v001e.zip

更新方法

前回(version:0.01d)から変更があるのは

  • README
  • gaecron.py
  • gaetimer.py
  • css/gc-common.css
  • template/gc-top.html
  • template/gc-user-header.html

の 6 ファイルです。

前回デプロイ時に使ったフォルダに上記ファイルを上書きしてデプロイして下さい。

注意点として、

  • gaecron.pyソース内のPATH関係を修正して使っていた場合には、新しいファイルでも同様の箇所を修正してから、上書きして下さい。
  • 設定ファイル(*.yaml)等については、これまでのものをそのまま使って下さい。
  • デプロイ後、GAE-Cronに(管理者アカウントで)ログインし、左上にある[全タイマ再設定]ボタンを押して下さい

タゲタゲ 2010/06/28 09:42 いつもお世話になってます。0.01d→0.01eにアップしたのですが
逆に負荷が倍に跳ね上がりました。アップしたのは2・3日前
なのですが、一応6/21の記事から再アップもしました。
もう一度前バージョンに戻したつもりでもtopでは0.01eと表示され
バージョンを下げたつもりでも0.01eと出ます。そして負荷も
あがったまま直りません。ちなみにユーザーは40人、cron数は6に
設定して、まだ1人(私)しか登録していない状態です

これはもう一旦APIを削除して3日後再度GAEcronをアップするしかないでしょうか?一応報告を兼ねて書き込みます。

furyu-teifuryu-tei 2010/06/28 13:14 今回の改修は総タイマ数が多くセットされている場合の負荷を低減するためのものです。
下位互換の関係から、起動するタスク数が倍増しているため、総タイマ数が少ない間は相対的に前バージョンよりも負荷が上がることがあります。
負荷がどの程度かが書かれていませんが、動作自体は問題無いと考えていただいてよいかと思います。

タゲタゲ 2010/06/29 09:50 登録している人が自分だけのせいなのですか。
ちなみにスクショを撮ったのですが、こんな感じです
12h前が0.01e 下がっている方が0.01dです

http://twitpic.com/20uaf6

furyu-teifuryu-tei 2010/06/29 23:04 >タゲさん
タイマ数が少ない場合(自分だけしか登録されていない場合など)は、そんな感じになるはずです。
CPU負荷としてもほとんどかかっていないですし、特に気にする必要はないです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証