Benchと同じくらい簡単に使えてもうちょっと色々出来るベンチマークツールが欲しい!」と思って探していたら良さそうなベンチマークツールが公開されてた。GitHubLuaで簡単に動作を拡張できるらしい。普通にリクエストする分にはabとあんまり変わらない。GitHub-sオプションでLuaのファイルを渡せば実行できる。http://hogehogedondon.netサンプルの中には、例えばPOSTリクエストでベンチマークするためのスクリプトがある。"application/x-www-form-urlencoded"かなり簡単。response関数を定義しておけばそれぞれベンチマーク開始時,リクエスト前,リクエスト後に任意の処理を挟めるようになる。スクリプトについてもっと詳しくwrkは実行中、リクエスト先のホスト名やパスの情報をテーブルにして持っている。nil,}リクエストを送る際は、このテーブルの内容を元に同ファイルに定義されているwrk.format関数でデータを組み立てる。この関数は引数で受け取ったメソッドやらパスやらをテーブルの値とマージして、HTTP用の文字列を返す。ユーザーがrequest関数を定義しない場合、wrk.format関数を呼び出してその戻り値を返すだけのデフォルトの実装が使用される。endend自分でrequest関数を書く場合も、ほとんどの場合最終的にwrk.format関数の戻り値を返すような実装になるはず(自分でHTTPに則った文字列を構成することもできそうだけど)その場合は最良のベンチマーク結果を得るため、init関数で予めリクエスト内容の一覧(wrk.format関数の戻り値の一覧)を生成しておく等の対応が推奨されている。GitHub書く例えば"ファイルに定義されたパスに対してランダムにリクエストを送る”というような処理が簡単に書ける。requests[n]endresponse関数を定義すればレスポンスのbody等が取得できるので、例えば"レスポンスのhtmlをパースしてその中の特定のリンクを次のリクエスト先とする"みたいな処理を書くのも難しくなさそう。requestStockLike57bonono@bonon0東京でプログラマやってます。