php-fpm 로그에 점수판 획득 실패가 많아 하위 프로세스가 최대 요청 수에 도달하게 되면 결국 새 하위 프로세스만 가져올 수 없게 됩니다. 마스터 프로세스가 남았습니다.
로그는 다음과 같습니다.
<code>ERROR: [pool ] no free scoreboard slot WARNING: [pool www] child 31311 said into stderr: "WARNING: failed to acquire proc scoreboard" </code>
조사 결과 이 문제가 발생하기 시작했을 때 요청에 500이 표시되었습니다. 500이 표시된 이유는 데이터베이스를 쿼리한 결과 집합이 상대적으로 크기 때문이었습니다. 이 상황이 발생했을 때 시스템 로그도 나타났습니다
<code>TCP: time wait bucket table overflow </code>
이유 아시는 분 계신가요?
php-fpm 로그에 점수판 획득 실패가 많아 하위 프로세스가 최대 요청 수에 도달하게 되면 결국 새 하위 프로세스만 가져올 수 없게 됩니다. 마스터 프로세스가 남았습니다.
로그는 다음과 같습니다.
<code>ERROR: [pool ] no free scoreboard slot WARNING: [pool www] child 31311 said into stderr: "WARNING: failed to acquire proc scoreboard" </code>
조사 결과 이 문제가 발생하기 시작했을 때 요청에 500이 표시되었습니다. 500이 표시된 이유는 데이터베이스를 쿼리한 결과 집합이 상대적으로 크기 때문이었습니다. 이 상황이 발생했을 때 시스템 로그도 나타났습니다
<code>TCP: time wait bucket table overflow </code>
이유 아시는 분 계신가요?
WARNING: failed to acquire proc scoreboard
빅데이터 결과셋에서 쿼리한 데이터를 메모리에 저장해 운용했는데, 서버 시스템의 메모리가 부족해서 이런 문제가 발생한 걸까요? time wait bucket table overflow
요청 처리 문제로 인해 대량의 TCP
연결이 발생하여 시스템에서 구성한 tcp_max_tw_buckets
최대 연결 수가 초과되었습니다.
해결 방법을 시도해 보세요.
시스템 메모리 늘리기
대규모 데이터 결과 세트를 청크로 처리하거나 대규모 데이터베이스 결과 세트를 행별로 읽기(커서 모드)
tcp_max_tw_buckets
위 내용은 순전히 개인적인 추측이며 참고용입니다. 저는 이런 오류가 발생한 적이 없습니다
메모리를 많이 소모하는 스크립트가 있는지 확인하세요