なんでもノート

なんでも書くノートみたいなブログ

vegetaのmultipart/form-dataリクエストでハマった

vegetaは負荷テストツール。vegetaでmultipart/form-dataでリクエストができず、ハマった。2日くらい時間を使った。

検索したら以下の記事が出てきたので簡単にできそうだとたかを括っていた。

必要な箇所を適宜書き換えリクエストするも、サーバーはエラーを返した。ログを仕込み、デバッグして、フィールドの値が取れていないことがわかったものの、どう直せばいいかわからず。vegetaは諦め、apache bench(別のツール)で試すも同じ結果に。しばらく「apache bench multipart/form-data」で調べていたらStack Overflowの以下の質問を発見。

node.js - POSTing multipart/form-data with Apache Bench (ab) - Stack Overflow

改行はLFではなく、CRLFを使いなさいとのことだった。curl\r を足してリクエストしているらしい。改行をCRLFに置き換えるとリクエストが成功した。

時間はかかったものの、無事に解決できてよかった。期せずしてvegetaだけではなく、apache benchにも触ることができたのもよかった。今回はたまたまうまくいったが、どうすればもっと速く解決したか、次はどうすればよいかと聞かれると難しいところ。