>  기사  >  백엔드 개발  >  php-fpm 로그에 스코어보드 획득에 실패한 다수의 메시지가 나타납니다.

php-fpm 로그에 스코어보드 획득에 실패한 다수의 메시지가 나타납니다.

WBOY
WBOY원래의
2016-12-01 00:25:344912검색

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 최대 연결 수가 초과되었습니다.
해결 방법을 시도해 보세요.

  1. 시스템 메모리 늘리기

  2. 대규모 데이터 결과 세트를 청크로 처리하거나 대규모 데이터베이스 결과 세트를 행별로 읽기(커서 모드)

  3. tcp_max_tw_buckets

  4. 관련 값 수정

위 내용은 순전히 개인적인 추측이며 참고용입니다. 저는 이런 오류가 발생한 적이 없습니다

메모리를 많이 소모하는 스크립트가 있는지 확인하세요

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.