>  기사  >  백엔드 개발  >  Fresh Round PHP 인터뷰 질문 요약

Fresh Round PHP 인터뷰 질문 요약

藏色散人
藏色散人앞으로
2021-07-27 16:33:143461검색

관련 추천: "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입니다. 더 많은 로그 슬로우 로그를 작성하는 것이 옳습니다. 서버가 동적 스크립트로 전송하는 데이터 형식에 대한 프로토콜을 지정하는 프로토콜

FASTCGI는 CGI의 성능을 향상시키고 마스터 프로세스를 시작하고 php.ini 파일을 구문 분석하고 요청이 들어오면 작업자 프로세스를 직접 복사합니다. 요청을 즉시 처리할 수 있으며 pm.start_servers 작업자를 미리 시작하여 성능을 향상시킬 수도 있습니다. PHPFPM은 FASTCGI를 구현한 프로그램입니다. 프로세스 관리로.

위 내용은 Fresh Round PHP 인터뷰 질문 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제