programing

Python 요청에 대한 서버 응답 시간 측정 방법 POST-request

muds 2023. 5. 6. 16:44
반응형

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

반응형