kmuto’s blog

はてな社でMackerel CREをやっています。料理と旅行といろんなIT技術

また電子のゴミを作りやがって、あるいは面白実験Webサーバー

先日作ったsaba-memo-runnerをデモのためのEC2オートスケールで試してみて、ターゲット追跡でスケールアウト/インすることはできたものの、互いに作用して負荷分散されていくという使い方はやはりできないな、という予想どおりの結論に達した。

kmuto.hatenablog.com

ということで、今度はロードバランサーの裏側に立ててアプリケーションサーバー負荷っぽい動きをすることを目的としたRubyスクリプトをちょっと作ってみた。

github.com

Sinatraで5分クッキング。入力値チェックなどいろいろ雑だが、利用シーンとしてパブリックに出すものではないのでまぁいいだろう。

リクエストURLパスで挙動を変えている。

  • / : Hello Worldを返す
  • /status/数字: 数字に指定したステータスコードHello Worldを返す
  • /sleep/秒数: 指定秒数待機してからHello Worldを返す
  • /stress/CPU数/秒数: CPU数ぶんの負荷を秒数ぶん実行する。stressコマンドを呼び出している

アプリケーションサーバー負荷っぽいのを狙いとしているのは最後のやつね。