Python 요청에 대한 서버 응답 시간 측정 방법 POST-request
내가 만든requests
시간 초과 임계값을 지정하는 다음과 같은 사후 요청:
response = requests.post(url, data=post_fields, timeout=timeout)
그러나 "좋은" 임계값을 결정하기 위해 서버 응답 시간을 미리 벤치마킹하고 싶습니다.
서버에 대한 최소 및 최대 응답 시간은 어떻게 계산합니까?
그Response
반환된 개체requests.post()
(및requests.get()
등)이라는 속성을 가지고 있습니다.elapsed
그것은 사이의 시간 델타를 제공합니다.Request
보내졌고 그리고Response
수신되었습니다.델타를 초 단위로 가져오려면 다음을 사용합니다.total_seconds()
방법:
response = requests.post(url, data=post_fields, timeout=timeout)
print(response.elapsed.total_seconds())
참고:requests.post()
동기식 작업입니다. 즉, 다음 시간까지 차단합니다.Response
수신됨.
테스트 요청이 많은 서버를 히트시킬 수 있는지 또는 실제 요청이 발생할 때까지 기다려야 하는지에 따라 달라집니다.
실제 요청 데이터가 필요한 경우 각 요청 시간을 결정하기 위해 통화를 마쳐야 합니다.
start = time.perf_counter()
response = requests.post(url, data=post_fields, timeout=timeout)
request_time = time.perf_counter() - start
self.logger.info("Request completed in {0:.0f}ms".format(request_time)
#store request_time in persistent data store
일정 기간(파일, 데이터베이스 등)에 걸쳐 각 요청의 결과를 저장할 수 있는 장소가 필요합니다.그런 다음 응답 시간의 통계를 계산하면 됩니다.
테스트 서버를 사용할 수 있는 경우 apachebench와 같은 기능을 사용하여 python 없이 응답을 벤치마킹하고 각 요청에 대한 테스트 데이터를 전송할 수 있습니다.
https://gist.github.com/kelvinn/6a1c51b8976acf25bd78
언급URL : https://stackoverflow.com/questions/43252542/how-to-measure-server-response-time-for-python-requests-post-request
'programing' 카테고리의 다른 글
AVAudio Recorder를 사용하여 iPhone에서 오디오를 녹음하려면 어떻게 해야 합니까? (0) | 2023.05.06 |
---|---|
mongoose를 사용하여 mongodb에 문서를 삽입하고 생성된 ID를 얻는 방법은 무엇입니까? (0) | 2023.05.06 |
Git에서 전자 메일 주소 변경 (0) | 2023.05.06 |
PostgreSQL: 기본 제약 조건 이름 (0) | 2023.05.06 |
Git에서 가장 최신 버전으로 돌아가는 방법은 무엇입니까? (0) | 2023.05.01 |