프로그래밍 방식으로 요청을 발행 할 때 사용할 시간 초과 값이 합리적으로 사용됩니까?

StackOverflow https://stackoverflow.com/questions/171099

  •  05-07-2019
  •  | 
  •  

문제

프로그래밍 방식으로 http 사후 요청을 발행 할 때 어떤 타임 아웃 값이 합리적입니까?

필자의 경우 PHP에서 게시물 요청을 할 때 '현명한'타임 아웃 값을 설정하려고하지만 모든 언어에 적용됩니다.

각각 사용자 지정 URL에 요청 세트를 발행 할 수 있어야합니다. 동시에 대신 연속적으로 요청을 처리 해야하는 경우 요청이 시간을 초과 한 것으로 간주되는 현명한 시간을 지정하고 싶습니다.

PHP 기본 소켓 타임 아웃 60 초입니다. 이것은 요청을 결정하기 전에 기다리는 데 불필요하게 오랜 시간이 걸리는 것 같습니다.

이것들은 사후 요청이므로 빠르게 완료해야합니다. GET 요청과 같이 검색하고 반환 할 데이터가 없습니다.

우리는 가정 할 수 있어야합니다. 대부분의 시간, x 초 안에 요청에 대한 응답을 발행하지 않으면 호스트가 X 값에 대해 합리적인 시간 내에 응답을 발행하지 않을 것임을 의미합니다. 중요하게

확실히 호스트는 간단한 사후 요청에 응답하는 데 60 초 이상 걸리지 않습니다. 그들은 심지어 10 초 이상 걸리지 않습니까? 5 초?

실제로 X의 합리적인 값은 무엇입니까? 제안과 함께 정당화는 매우 유익 할 것입니다.

도움이 되었습니까?

해결책

항상 합리적 인 가치를 부여하기에는 너무 많은 요인이 있기 때문에 테스트를 설정하는 것이 좋습니다.

게시물 요청은 처리 할 데이터를 보냅니다. 처리 시간이 얼마나 걸립니까? 이것은 응용 프로그램/데이터 특정입니다.

호스트는 어디에 있습니까? 사용자는 URL을 공급하고 있으므로 알 수 없습니다. 응용 프로그램과 호스트간에 트래픽이 어떤지 알 수 없습니다. 호스트의 서버로드를 알 수 없습니다.

본질적으로 보편적 인 현명한 시간 초과가 없습니다. 특정 요구에 따라 자신의 최상의 판단을 사용해야합니다. 테스트를 설정하고이를 사용하여 한도를 결정하십시오.

다른 팁

대부분의 라이브러리에는 연결 시간 초과 및 읽기 시간 초과가 있습니다. 즉, 원격 서버에 연결하려는 시간과 요청을 전송 한 후 타임 아웃 사이의 시간 초과는 응답을 기다려야합니다.

읽기 시간 초과에 관해서는, 그것은 까다 롭기 때문에, 당신은 그것이 낮아야하므로, 당신은 원격 서비스가 돌아 오기를 기다리는 근로자 풀을 소진하지 않지만, 너무 낮게 닫히기를 원하지 않습니다. 응답을 읽기 전에 연결. 그것은 당신이 테스트해야 할 것입니다. 그런 다음 시스템이 생산 될 때 메트릭으로 추적하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top