ab(apache bench)でPOSTする

ab(apache bench)はApache HTTP Server付属のbenchmarkツールだそうです.いままでWebの案件では付加テストなどを求められたことがなかった(たぶん必要もなかった)ので初めて使うことになりました

GETでのリクエストはあっさりできたのですが,POSTをどうすればよいのかわからず.検索するもののなかなか探せませんでした.というわけでメモ

  • pオプションでPOSTするデータが入ったファイルを指定.-TオプションでContent-typeを指定します
% ab -n 10 -c 10 -p postdata.file -T "application/x-www-form-urlencoded" http://localhost/

この場合のpostdata.fileの中身はこんな感じ.GETのときにURIに付加される文字列と一緒ですね.URLエンコードが必要だと思います

hl=ja&q=apachebench

ファイルをPOSTする場合はContent-typeにmultipart/form-dataを指定してやればよいようです.ファイルの内容の形式に関してはhttp://www.kanzaki.com/docs/html/htminfo32.html#enctypeが参考になります

勉強足りないことをふたたび実感.基本的なところをすっ飛ばしてるのがよくわかる

[参考]