LoginSignup
2
2

More than 5 years have passed since last update.

IBM Cloud の Cloud Foundry apps を Auto-Scaling させる

Last updated at Posted at 2018-09-21

参考記事

Cloud Foundry apps をつくる

カタログからPHPを作成します。
Kobito.Y1Dbgb.png

基本的にはライトな使い方であれば、30日無料なので、請求は問題ないでしょう。
Kobito.LM5qxM.png

「Running」となっていることを確認します。
Kobito.9Mhl9J.png

Auto-Scaling をつくる

カタログから Auto-Scaling を作成します。
Kobito.eKl2qn.png

こちらも基本的には無料のサービスです。
Kobito.9kKGYk.png

「Create connection」から先ほど作成した Cloud Foundry apps を追加して、Restage をかけます。
Kobito.NVcZuL.png

しばらくすると、「Manage」の画面に正しく表示されます。
Kobito.0m6aKb.png

Auto-Scaling させてみる

Policy の設定

たとえば、このような設定を入れてみました。
この設定で負荷をかけてテストしてみます。
Screen Shot 2018-09-20 at 20.25.57.png

  • Statistic Window
    • average を計算する対象となる間隔
  • Breach Duration
    • 設定された時間の間、閾値を超えるとトリガが発動
  • Cooldown period for scaling out
    • インスタンス追加後、全インスタンスを含めて処理を計測するまでの待ち時間
  • Cooldown period for scaling in
    • インスタンス削除後、全インスタンスを含めて処理を計測するまでの待ち時間

Kobito.awW9Ur.png

負荷テストツール

今回はこちらを使用してみました。

他にも以下のツールが有名です。

メトリクスの統計、スケーリング履歴

テストした結果、メモリ使用量に関する負荷がみてとれます。

Screen Shot 2018-09-20 at 20.37.13.png

インスタンスの追加処理自体は、数秒の範囲で終わっています。

Screen Shot 2018-09-20 at 20.28.55.png

インスタンスの追加・削除時の最短のインターバルは、
「Cooldown period for scaling out(in)」+「Breach Duration 」の240秒(4分)程度になっているので、意図した通りに動いていることが確認できます。
メモリの平均使用率を120秒ごとに出して、トリガが動くようになっているので、4分より間隔が長い場合でも、2分刻みでトリガの判断がおこなわれていることがわかります。

Screen Shot 2018-09-20 at 20.37.06.png

インスタンスごとのメトリクスの統計

若干、タイムスケールが異なる部分がありますが、少し負荷が偏ってしまう部分があります。



これは、1つの Cloud Foundry apps に対する複数インスタンスへのロードバランシングは、ラウンドロビン方式になっているためです。

Auto-Scaling したとはいえ、このラウンドロビン方式はユーザー側で変更できないとのことなので、この状況を変えたい場合、複数のアプリをうまく活用する必要がありそうです。

2
2
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
2
2