JMeterを使用してRailsアプリケーションの負荷テストを行おうとしています。アプリケーションの重要な部分には、テキスト入力とファイルアップロードの両方を含むフォームが含まれます。ブラウザでは問題なく動作しますが、そのページをJMeterに投稿しようとすると、Railsはマルチパートフォームのすべての部分を一時ファイルとして保存します。これにより、文字列を検索するときに問題が発生し、代わりに一時ファイルを取得します。
違いは、ブラウザから見ると、テキスト入力を含むマルチパートリクエストの一部が次のようになっていることです。
-----------------------------7d93b4186074c
Content-Disposition: form-data; name="field_name"
test
-----------------------------7d93b4186074c
JMeterからは次のようになります。
-----------------------------7d159c1302d0y0
Content-Disposition: form-data; name="field_name"
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
test
-----------------------------7d159c1302d0y0
したがって、Railsは前者を認識してプレーンテキスト値として解釈し、文字列として処理しますが、後者を認識して一時ファイルに保存するようです。
非ファイルフィールドのマルチパートフォームで追加のヘッダーを送信しないようにJMeterを説得するための設定を見つけることができませんでした。
Railsにこれらのヘッダーを無視し、テキスト/プレーンテキストをテキストファイルではなく文字列として扱うように説得する方法はありますか?または、余分なヘッダーを取り除くフィルターをコントローラーの前に配置する簡単な方法はありますか?
あるいは、ファイルのアップロードを含むRailsアプリケーションの負荷テストを行うためのより良いツールはありますか?