2011年6月25日土曜日

Google App Engine の新価格 (2)

Google App Engine の新価格 (1) では月々の費用 $9 に関する部分を見ていきました。
mailing list で FAQ が更新されたようです。

新価格でもっとも影響が大きいのは、これまで CPU 時間で課金されていた部分がInstance 起動時間での課金に変更されたことでしょう。更新されたFAQでもこれについての追加説明がされています。

  • インスタンスの価格は $0.08/hour
  • 新たなインスタンスを起動するか否かはスケジューラが決定します
  • スケジューラには4つのパラメータを与えることができます
    • Min Idle Instances: アイドル状態のインスタンスを最低いくつ確保するか。これまでの Always On を実現したい場合にはこの値を 1 以上にする必要があります。このパラメータは有償プランでのみ利用可能です。
    • Max Idle Instances: アイドル状態のインスタンスを最高いくつ確保するか。アクセス数が短時間に集中する場合に影響します。
    • Min Pending Latency: リクエストの予想待ち時間がこの値を下回る場合は新規インスタンスは起動されません。
    • Max Pending Latency: リクエストの予想待ち時間がこの値を上回る場合は即座に新規インスタンスが起動されます。
  • 新規にインスタンスを開始した場合には 15 min 分が startup 手数料として取られます。5 min だけインスタンスを起動した場合には 0.08 * (15 + 5) / 60 = 2.6 cents になります。
短時間(数分の間)に多くのアクセスが集中するようなケースでは startup 手数料が多く取られることになります。費用を安くするために、これまでは純粋に CPU 時間だけを短くすることを考えれば良かったのですが、これからはインスタンス数と startup 回数を減らす方法を考える必要が出てきました。

インスタンス数を減らすには
  • 応答時間を縮める
  • 並列処理を行う
ことで実現できます。並列処理に関しては現状 Java SDK でのみサポートされており、Python SDK では Python 2.7 をサポートする際にサポートすると宣言されています。
startup 回数に関しては、アクセス規模が小さいサイトでは問題に成り得ますが、比較的大規模のアクセスがあるサイトでは問題にならないかもしれません。

0 件のコメント:

コメントを投稿