поддерживает составной POST для apachebench?

Я хочу использовать apachebench (ab) для проверки производительности загрузки файлов. Я прочитал руководство и не могу найти способ достичь своей цели.

Моя цель - попытаться загрузить файл с помощью HTTP-запроса с методом POST и форматом multipart/form-data.

AB поддерживает "-p POST-FILE", но я могу найти только формат ключ=значение&ключ2=значение2

Какие данные сообщения я хочу отправить

Content-Type: multipart/form-data; граница=----WebKitFormBoundaryuUlX4554LPBjInc5

------WebKitFormBoundaryuUlX4554LPBjInc5 Content-Disposition: form-data; имя="файл"; имя_файла="411c40d9.jpg" Тип содержимого: image/jpeg

XXXXXXXXXXXXXXX (ДАННЫЕ ИЗОБРАЖЕНИЯ) YYYYYYYYYYYYYYYYYYYYYYYYYYYYY

Я какое-то время гуглил и не могу найти связанную статью или способ добиться этого. Я использую cURL, и он отлично работает, но я хочу провести стресс-тестирование. Поэтому мне нужно использовать ab для достижения этой цели.

Какие-либо предложения?


person HolaMan    schedule 30.11.2010    source источник


Ответы (1)


Это может быть очень поздно, но может помочь другим, которые искали то же самое...

$ ab -c 5 -n 5 -v 4 -p example_post.txt -T "multipart/form-data; boundary=miuxupsktcqtriloonfbdudrgtawascl" http://yourapplication.local/upload/

Кредит этот парень.

person Carlton    schedule 26.09.2011
comment
после этого ответа содержимое файла example_post.txt может предполагать -T multipart/form-data; border=1234567890 ... содержимое файла: --1234567890 Content-Disposition: form-data; name=ID 3 --1234567890 Content-Disposition: form-data; имя=видеофайл; filename=ab1_pod.avi Content-Type: video/x-msvideo [содержимое файла в кодировке base64 здесь] --1234567890-- - person Paul; 07.12.2015
comment
@ofer, предложит опубликовать вашу команду, если вам нужна помощь. Короче говоря, дважды проверьте, что файл .txt существует в вашем текущем каталоге, у вас установлен ab, вы закрыли кавычки и ваш URL-адрес действителен ... может быть проблема, если вы указываете на HTTPS, где сертификат не т действительный - person Carlton; 07.12.2016
comment
я сделал это - вы забыли упомянуть, что вам нужно использовать утилиту unix2dos. Спасибо! - person Ofer Eliassaf; 08.12.2016
comment
не мог заставить его работать так, как опубликовано, но в связанной статье были более подробные сведения. - person domoarigato; 12.06.2017