ApacheBench에서 Go HTTP 서버 연결 문제 해결
ApacheBench 테스트 중에 Go HTTP 서버에 연결 문제가 발생했습니다. ApacheBench는 들어오는 요청을 처리하는 서버의 능력에 문제가 있음을 나타내는 "연결 거부됨" 또는 "작업 시간 초과"와 같은 오류를 반환합니다.
근본 원인 식별: 포트 고갈
조사 결과 서버에 임시 포트가 부족한 것으로 나타났습니다. macOS에는 49152-65535의 기본 임시 포트 범위가 있는데, 이는 연결 유지 없이 대량의 동시 요청을 처리하기에는 충분하지 않습니다.
포트 소진 메커니즘
각 HTTP Keepalive가 없는 /1.0 요청은 서버의 고유한 임시 포트를 사용합니다. 이 포트 범위가 고갈되면 운영 체제는 사용되지 않는 포트에 대한 요청을 대기열에 넣습니다.
성능에 미치는 영향
포트 대기열이 가득 차면 운영 체제는 추가 수신을 제한합니다. 사이. 결과적으로 클라이언트에 연결 실패 또는 시간 초과가 발생할 수 있습니다.
문제 완화
문제를 완화하려면 다음 옵션을 고려하십시오.
위 내용은 My Go HTTP 서버가 'Connection Refused' 또는 'Operation Timed Out' 오류와 함께 ApacheBench 테스트에 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!