先日作ったsaba-memo-runnerをデモのためのEC2オートスケールで試してみて、ターゲット追跡でスケールアウト/インすることはできたものの、互いに作用して負荷分散されていくという使い方はやはりできないな、という予想どおりの結論に達した。
ということで、今度はロードバランサーの裏側に立ててアプリケーションサーバー負荷っぽい動きをすることを目的としたRubyスクリプトをちょっと作ってみた。
Sinatraで5分クッキング。入力値チェックなどいろいろ雑だが、利用シーンとしてパブリックに出すものではないのでまぁいいだろう。
リクエストURLパスで挙動を変えている。
/
: Hello Worldを返す/status/数字
: 数字に指定したステータスコードでHello Worldを返す/sleep/秒数
: 指定秒数待機してからHello Worldを返す/stress/CPU数/秒数
: CPU数ぶんの負荷を秒数ぶん実行する。stressコマンドを呼び出している
アプリケーションサーバー負荷っぽいのを狙いとしているのは最後のやつね。