PHP의 FastCGI는 웹 서버 API의 제약 없이 CGI를 확장한 방식이다. 기존 CGI 구현은 프로세스를 생성해 클라이언트 요청 하나를 처리한 뒤 종료하는 구조를 가진다. 하지만 프로세스 생성 비용이 크기 때문에 다수의 사용자를 동시에 처리하기에는 한계가 있다. 이를 보완하기 위해 나온 FastCGI는 매 요청마다 프로세스를 생성하지 않고, 미리 만들어둔 프로세스를 기반으로 요청을 처리하는 인터페이스다. 이러한 인터페이스의 여러 […]
이 글은 PHP 내부의 메모리 할당/관리 방식을 담당하는 Zend Memory Manager(ZMM)를 다룬다. opcache, Zend VM, GC 전반은 범위를 벗어나며, 특히 emalloc/efree 중심의 ZMM 경로를 소스 코드 레벨에서 확인하고, GDB로 실제 동작을 검증한다. 주의 및 준비 위 명령어의 결과가 php-8.4.10으로 나오면 성공이다. 위 과정에서 필요한 의존성 패키지는 실습자의 환경에 맞게 추가 설치가 필요하다. 기본 정보: Heap, […]
1. OPCODE 란 PHP를 포함해 다양한 프로그래밍 언어로 작성된 코드는 기계어로 변환되어 실행됩니다. 이런 기계어는 명령어(operation)와 피연산자(operand)로 이루어집니다. 명령어는 프로세스 명령어 집합으로 사전에 정의되어 있는데, 각 명령어를 지정하는 연산 코드(operation code)로 표시됩니다. 연산 코드를 줄여서 ‘opcode’라고도 부릅니다. 피연산자는 명령어가 처리할 메모리 주소 값 또는 데이터 값을 말합니다. 2. OPCODE 캐시란 PHP는 인터프리터 언어의 특성 때문에 […]