使用包含音频内容的 http multipart/related 请求负载测试服务器

Load testing server with http multipart/related request which contains audio content

我们构建了一个服务器来处理用户使用应用程序录制的语音。音频数据通过httppost实时发送。 body 看起来像这样:

--BOUNDARY
Content-Disposition: form-data; name="metadata"
Content-Type: application/json; charset="UTF-8"
<JSON FORMATTED METADATA HERE>
--BOUNDARY
Content-Disposition: form-data; name="audio"
Content-Type: application/octet-stream
<AUDIO BYTES HERE>
--BOUNDARY--

现在,我需要对服务器进行负载测试。我正在考虑使用 ApacheBench 并只执行一致的上传请求,但我希望对每个请求使用与上述相同的格式。如何在 AB 中设置?

我能够使用以下命令解决问题:

ab -p test -T "multipart/form-data; boundary=BOUNDARY" -c 1000 -n 1000 -l http://someipaddress.com/

其中 test 是包含 post 内容的文件。