URL 재작성기가 죽으면서 느려지는 Squid 요청
프록시가 연결은 받아들이지만 요청이 다음 홉으로 전달되기 전에 멈출 때 URL 재작성 헬퍼를 점검합니다.
Squid가 연결을 받아들이지만 요청을 다음으로 보내는 데 오래 걸린다면 그 경로에 있는 URL 재작성기를 확인하세요. Squid 5–7에서 url_rewrite_program는 최초 접근 검사 후 호출되는 외부 프로그램을 지정합니다. 이 프로그램은 요청이 목적지에 도착하기 전에 지연을 일으킬 수 있습니다.
- 래퍼와 인자를 포함해 실제 적용되는 재작성 명령을 확인하세요.
- 영향받은 트랜잭션을 헬퍼 진단과 대조하세요. 자식 프로세스의 반복 종료, 형식이 잘못된 응답, 계속 늘어나는 대기열은 서로 다른 단서입니다.
- 특정 URL 패턴이 실패를 유발하는지 확인하세요. 무관한 리졸버 설정을 바꾸기보다 해당 입력의 비식별화된 예시를 보관하세요.
헬퍼는 줄 단위의 요청/응답 규약을 따릅니다. 래퍼가 표준 출력에 쓰는 진행 메시지는 이 규약을 깨뜨릴 수 있습니다. 관리자 권한으로 스크립트를 성공적으로 실행하는 것도 Squid의 입력 스트림, 환경, 권한을 재현하지는 못합니다. 이 경로는 비밀번호 검증과 별개입니다.
교환이 정상 동작한 뒤에야 용량 문제로 다룰 수 있습니다. url_rewrite_children는 프로세스 수와 관련 대기열 동작을 제어하지만, 자식 수를 늘린다고 입력이 유발한 크래시가 고쳐지지는 않습니다. 동시성 옵션은 채널 식별자를 도입하며 해당 대화를 구현한 헬퍼를 요구합니다.
재작성기 없이 승인된 비교를 수행하면 그 기여도를 분리할 수 있습니다. 과부하 시 이를 우회한 채 두면 그 재작성기가 강제하는 라우팅이나 필터링이 달라질 수 있으므로 이는 정책 결정입니다. 전체 지연을 네트워크 지연으로 돌리기 전에 관측된 헬퍼 대기 시간을 DNS 및 다음 연결 증거와 비교하세요.