부하 테스트 도구 vegeta에서 multipart/form-data로 이미지 보내기
가정 독자
vegeta 에서 더 놀고 싶은 사람
multipart/form-data
에 대해 조금 복습하고 싶은 사람 한마디로
targets.txt
, body.txt
준비{その他必要なリクエストヘッダ}
또는 {画像のバイナリ}
// 3分間、1秒間に2リクエストの頻度でattack!する場合の例
vegeta attack -rate 2 -duration 3m -targets targets.txt |tee result
targets.txt
POST http://sample.example.com/images
{その他必要なリクエストヘッダ}
Content-Type: multipart/form-data; boundary=----BoundaryPKp7MX1veAsGyi0A
@body.txt
body.txt
------BoundaryPKp7MX1veAsGyi0A
Content-Disposition: form-data; name="attachment"; filename="dummy"
Content-Type: image/jpeg
{画像のバイナリ}
------BoundaryPKp7MX1veAsGyi0A
Content-Disposition: form-data; name="other-key1"
other-value1
------BoundaryPKp7MX1veAsGyi0A
Content-Disposition: form-data; name="ohter-key2"
other-value2
------BoundaryPKp7MX1veAsGyi0A--
또 한마디
body.txt
의 name=
다음에 오는 부분 ( attachment
등)도 적절하게 변경하십시오 body.txt
의 첫 번째 블록만으로도 좋습니다.우선 curl로 해보자
구그하면 상당히 정보가 많습니다. 다음과 같은 느낌으로 OK입니다.
{path/to/img.jpg}
는 이미지의 경로입니다. 간단!curl -X POST http://sample.example.com/images \
-F other-key1=other-value1 \
-F other-key2=other-value2 \
-F "file=@{path/to/img.jpg};type=image/jpg"
vegeta에서는 이렇게
위의
curl
의 샘플을 보면 이런 느낌으로 좋을까라고 생각합니다.wrong_targets.txt (분위기만 쓴 안되는 예)
POST http://sample.example.com/images
{その他必要なリクエストヘッダ}
Content-Type: multipart/form-data
Content-Disposition: form-data; name="attachment"; filename="path/to/img.jpg"
other-key1=other-value1
other-key2=other-value2
정확하게는 다음과 같이
boundary
를 사용해 써야 합니다. 파일의 분할은 필수는 아니지만, 그러한 편을 알기 쉽다고 생각합니다.이미지가 아닌 다른
multipart/form-data
와 같은 느낌이 듭니다만, 이미지의 경우는 바디에 이미지의 바이너리를 직접 넣어야 하는 것이 특징입니다.targets.txt
POST http://sample.example.com/images
{その他必要なリクエストヘッダ}
Content-Type: multipart/form-data; boundary=----BoundaryPKp7MX1veAsGyi0A
@body.txt
body.txt
------BoundaryPKp7MX1veAsGyi0A
Content-Disposition: form-data; name="attachment"; filename="dummy"
Content-Type: image/jpeg
{画像のバイナリ}
------BoundaryPKp7MX1veAsGyi0A
Content-Disposition: form-data; name="other-key1"
other-value1
------BoundaryPKp7MX1veAsGyi0A
Content-Disposition: form-data; name="ohter-key2"
other-value2
------BoundaryPKp7MX1veAsGyi0A--
주의점
이미지 바이너리를 직접 삽입해야합니다.
cat body_before.txt img.jpg body_after.txt > body.txt
같이 바이너리를 넣으면 잘 갔습니다. --
잊지 마세요 후기
vegeta
에서 multipart/form-data
에 관한 기사는 얼마 안 있었습니다만, 이미지에 특화해 정중하게 쓴 것이 없었기 때문에 써 보았습니다.참고문헌
이하의 기사 등 참고로 하여 시행착오했습니다.
multipart/form-data
정보vegeta
에서 multipart/form-data
Reference
이 문제에 관하여(부하 테스트 도구 vegeta에서 multipart/form-data로 이미지 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nrnrk/items/4e0dab2c8573e3fe7576텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)