고성능 런타임 및 배포
👉 17. Swoole / RoadRunner / FrankenPHP
PHP-FPM을 넘어서는 비동기 아키텍처
기존 PHP는 매 요청마다 스크립트를 새로 로드하는 'Share-Nothing' 아키텍처(PHP-FPM)를 사용했습니다.
하지만 Swoole, RoadRunner, FrankenPHP 같은 서버를 사용하면, Node.js나 Go처럼 애플리케이션을 메모리에 상주(Persistent)시키고 비동기 처리를 지원하여, 웹소켓 등 실시간 통신과 압도적인 처리 속도를 구현할 수 있습니다.
👉 18. JIT (Just-In-Time) Compilation
극한의 성능 최적화
PHP 8부터 도입된 JIT(Just-In-Time) 컴파일러는, 코드를 실행할 때 머신 코드로 컴파일하여 캐싱하는 기술입니다.
웹 애플리케이션보다는 CPU 집약적인 복잡한 연산, 이미지 처리, 머신러닝 등 특정 작업에서 C 언어에 버금가는 획기적인 성능 향상을 가져다줍니다.
👉 19. Dockerized Environment
일관된 개발 및 배포 환경
현대의 PHP 프로젝트는 내 PC에 직접 PHP를 설치하지 않고, Docker를 활용한 컨테이너 환경에서 개발합니다.
Laravel Sail 같은 도구를 사용하면, 운영체제에 상관없이 팀원 모두가 완벽하게 동일한 버전의 PHP, DB, Redis 환경을 클릭 한 번(또는 명령어 한 줄)으로 구성할 수 있습니다.
PHP-FPM vs Swoole/FrankenPHP
// FrankenPHP (Caddy 기반 PHP 앱 서버)
// 메모리에 상주하며 요청을 처리 (비동기, 고성능)
// 터미널 실행 예시
// ./frankenphp php-server