관련 추천: "2021 PHP 면접 질문 요약(컬렉션)"
PHP 면접 질문 요약
Garbage collection 메커니즘
PHP에는 zval이라는 구조가 있습니다. 본문에 , 변수 유형 및 값 외에도 is_ref(=true 포인터 변수, -false 일반 변수), refcount(이 변수를 가리키는 숫자)도 포함합니다. 요소 삭제 시 refcount=0이 발생하면 이 변수는 가비지 수집됩니다. . 삭제
다음 작업을 수행하면 refcount가 0이 되지 않아 메모리 오버플로가 발생할 수 있습니다
$a = array( 'one' ); $a[] =& $a; unset($a);
refcount가 1씩 감소할 때마다 변수는 버퍼 영역에 배치되고 루트 버퍼 영역이 0이 될 때마다 주기 재활용을 기다립니다. 전체(기본값 10000), 재활용 알고리즘이 실행됩니다
FPM 조정
pm = dynamic : 灵活模式,子进程的数量是根据以下指令来动态生成的,默认是这个模式: pm.max_children,//最大子进程数 pm.start_servers,//初始化启动进程数 pm.min_spare_servers,//最低闲置进程数 pm.max_sqare_servers//最高闲置进程数
pm = ondemand: Dead fish 모드, 이 모드는 요청이 들어온 후에만 하위 프로세스를 시작합니다. 가상 호스트 모드에 더 적합한 작업자 시작 시간, pm.process_idle_timeout은 몇 초 후에 하위 프로세스를 종료합니다
pm = 정적: 최대 마력 모드, 하위 프로세스 수는 pm.max_children 명령에 의해 결정되며 항상 작동합니다. 메모리를 많이 소모하는 최대 자식 프로세스에서 응답이 매우 빠르지만 서버 메모리가 매우 큰 경우에는 이를 사용할 수 있습니다. 서버가 8G 이상인 경우 하나의 프로세스는 20M로 계산됩니다. 총 100 개의 프로세스는 2g
log입니다. 더 많은 로그 슬로우 로그를 작성하는 것이 옳습니다. 서버가 동적 스크립트로 전송하는 데이터 형식에 대한 프로토콜을 지정하는 프로토콜
위 내용은 Fresh Round PHP 인터뷰 질문 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!