>백엔드 개발 >PHP 튜토리얼 >동시 아파치 요청 수 및 해당 TCP 연결 상태 보기

동시 아파치 요청 수 및 해당 TCP 연결 상태 보기

伊谢尔伦
伊谢尔伦원래의
2016-11-25 15:18:021547검색

지난 이틀 동안 Apache 서버 세트를 구축했습니다. 각 서버는 4G 메모리를 사용하며 처음에 설정한 연결 수가 너무 적어 사용자 요청에 응답하는 데 오랜 시간이 걸렸습니다. 나중에 수정했습니다. Apache 2.0.59 구성 파일 httpd.conf:

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
StartServers         10
MinSpareServers      10
MaxSpareServers      15
ServerLimit          2000
MaxClients           2000
MaxRequestsPerChild  10000

httpd 프로세스 수(즉, Apache가 프리포크 모드에서 처리할 수 있는 동시 요청 수)를 확인합니다.
Linux 명령:

ps -ef | grep httpd | wc -l

반환된 결과의 예:
1388
은 Apache가 로드에 따라 이 값을 자동으로 조정할 수 있다는 의미입니다. 내 그룹의 각 서버 수가 2002에 도달했습니다.

Apache의 동시 요청 수와 해당 TCP 연결 상태 보기:
Linux 명령:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

반환 결과 예:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
SYN_RECV는 처리 대기 중인 요청 수를 나타냅니다. ESTABLISHED는 정상적인 데이터 전송 상태를 나타냅니다. 처리되었으며 시간 초과가 끝나기를 기다리고 있습니다.

상태: 설명
CLOSED: 연결이 활성화되어 있지 않거나 진행 중입니다.
LISTEN: 서버가 수신 호출을 기다리고 있습니다.
SYN_RECV: 연결 요청이 도착했으며 확인을 기다리고 있습니다.
SYN_SENT: 애플리케이션이 시작되어 연결이 시작되었습니다
ESTABLISHED: 정상적인 데이터 전송 상태
FIN_WAIT1: 애플리케이션이 완료되었다고 합니다
FIN_WAIT2: 상대방이 해제에 동의했습니다
ITMED_WAIT: 대기 중 모든 패킷이 죽도록
CLOSING : 양쪽이 동시에 닫으려고 합니다
TIME_WAIT: 상대방이 릴리스를 초기화했습니다
LAST_ACK: 모든 패킷이 죽을 때까지 기다립니다

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