[curl & HTTP 사양] Flask with uWSGI를 HTTP로 이동하면 파일 게시 시 깨끗하게 1초 지연됩니다.
타이틀 대로입니다만, Flask 를 uWSGI @ HTTP 로 움직이면(자), 파일 투고시에 깨끗이 1 초 지연하는 현상을 확인했으므로, 재현 순서를 소개합니다.
이것은
curl
의 사양으로 Expect: 100-continue
헤더를 붙여 리퀘스트를 발행하게 되어 있어, 서버에 파일을 투고해도 괜찮은지 묻는다 1 초 기다리는 것 같습니다. 1$ curl -v -s -XPOST -F file=@LICENSE localhost:5002
* Rebuilt URL to: localhost:5002/
* Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 5002 (#0)
> POST / HTTP/1.1
> Host: localhost:5002
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Length: 1271
> Expect: 100-continue
> Content-Type: multipart/form-data; boundary=------------------------ebc5516179fb0a6c
>
* Done waiting for 100-continue
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Content-Length: 20
<
* Connection #0 to host localhost left intact
Took: 0:00:01.011157
이것은 HTTP/1.1에 준거한 것입니다. 2
uWSGI 는
Expect: 100-continue
의 핸들링에 대응하고 있어 ini 파일에 이하의 행을 추가하면 좋다고 합니다. 1http-manage-expect = 1
실험 설정
상기 리포지토리와 같이,
에 관해서 실험을 실시하고 있습니다.
1. Flask를 단독으로 시작한 경우
단순히
$ flask run --host=0.0.0.0
에서 시작한 경우입니다.
2. Flask가 HTTP 설정 uWSGI를 통해 시작된 경우
uWSGI
http = 0.0.0.0:80
를 포함한 설정으로 시작한 경우입니다.
3. Flask가 uwsgi 프로토콜 설정의 uWSGI를 통해 시작된 경우
uWSGI
socket = /socket/uwsgi.sock
를 포함한 설정으로 시작한 경우입니다.
버전
Flask==1.1.1
uwsgi==2.0.18
실험 결과
각각 curl
를 사용하여 파일을 POST할 때 응답 시간은 다음과 같습니다.
여기서 확인된 한 파일은 무엇이든 좋기 때문에 리포지토리의 LICENSE
파일을 사용하고 있습니다.
응답 시간
1. Flask 단독
0.067
2. Flask w/uWSGI@HTTP
1.063
3. Flask w/uWSGI@uwsgi
0.062
Flask가 uWSGI @ HTTP로 시작된 경우에만 응답 시간이 1초 늦어진 것을 알 수 있습니다.
이번은 시행 횟수 한 번의 데이터를 게재하고 있습니다만, 몇 번 해도 대체로 이 리스폰스 타임이 됩니다.
※ 서두에서 설명한 대로, 여기서 1초 기다리고 있는 주체는 curl
이며, Flask
이나 uWSGI
가 아닙니다.
결론
Flask 혼자라면 이 현상은 발생하지 않기 때문에 아마 uWSGI가 원인이 아닌가 하는 것으로 적당히 issue 의지도 모르고 잘 모르겠습니다.
자세한 쪽이 계시시면 꼭 교시해 주세요.
uWSGI의 기여자에게 가르쳤습니다. 1
매우 공부가 되었습니다.
htps : // 기주 b. 코 m / 똥 t / uws 기 / 이스에 s / 2129 # 이스에 코멘 t-592935917 ↩
htps // gms. tf/우-쿠 rl-센 ds-100-안녕하세요. HTML ↩
Reference
이 문제에 관하여([curl & HTTP 사양] Flask with uWSGI를 HTTP로 이동하면 파일 게시 시 깨끗하게 1초 지연됩니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/akeyhero/items/9e3d6cde8334dd696942
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Flask 혼자라면 이 현상은 발생하지 않기 때문에 아마 uWSGI가 원인이 아닌가 하는 것으로 적당히 issue 의지도 모르고 잘 모르겠습니다.
자세한 쪽이 계시시면 꼭 교시해 주세요.
uWSGI의 기여자에게 가르쳤습니다. 1
매우 공부가 되었습니다.
htps : // 기주 b. 코 m / 똥 t / uws 기 / 이스에 s / 2129 # 이스에 코멘 t-592935917 ↩
htps // gms. tf/우-쿠 rl-센 ds-100-안녕하세요. HTML ↩
Reference
이 문제에 관하여([curl & HTTP 사양] Flask with uWSGI를 HTTP로 이동하면 파일 게시 시 깨끗하게 1초 지연됩니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akeyhero/items/9e3d6cde8334dd696942텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)