Laravel Octane 패키지(https://github.com/laravel/octane)가 최근 출시되었습니다. 이는 Laravel을 Swoole 및 RoadRunner 친화적으로 만들기 위해 만들어졌습니다. 우리는 한동안 dev.family에서 php-fpm 대신 RoadRunner를 사용해 왔으며 우리의 경험을 공유하고 그것이 어떤 장점이 있는지 공개하기로 결정했습니다.
RoadRunner는 Go로 작성된 고성능 오픈 소스 PHP 애플리케이션 서버입니다. php-fpm과의 주요 차이점은 각 요청에 대해 새로운 PHP 프로세스를 생성하고 종료하는 php-fpm과 달리 RoadRunner는 PHP의 상주 프로세스와 상호 작용한다는 것입니다. [추천: PHP 비디오 튜토리얼]
상주 프로세스의 장점:
이 접근 방식의 단점은 모든 PHP 애플리케이션에 적합하지 않다는 것입니다. 왜냐하면 코드는 일반적으로 요청 후에 PHP 프로세스가 종료된다는 점을 고려하여 작성되기 때문입니다. 따라서 메모리 누수를 모니터링하고 전역 상태를 주의 깊게 처리할 수 있어야 합니다. 따라서 기존 프로젝트는 Roadrunner에서 시작되지 않을 수 있습니다.
그러나 Roadrunner에는 정적 피드백, 응답 압축 및 균형 조정과 같은 다른 유용한 기능이 있습니다. 일반적인 번들의 기능은 nginx에 속합니다. PHP Roadrunner를 사용하는 경우, 이를 사용하지 않고도 애플리케이션(nginx)을 시작할 수 있습니다.
RoadRunner는 확장도 쉽습니다. 자체 애플리케이션 서버에 대한 구성 요소를 사용할 수 있으며, 예를 들어 웹 소켓을 사용하여 Go에서 일부 요청을 직접 처리할 수 있는 기회를 얻을 수 있습니다.
RoadRunner 자체는 새로운 개발이 아니며 이미 몇 년이 된 것입니다. 그러나 Laravel Octane에 대한 공식 지원을 통해 프레임워크가 이를 사용할 준비가 되었는지 확인할 수 있습니다.
php-fpm과 로드러너의 속도를 비교하기 위해 실제 프로젝트에서 작은 테스트를 수행했습니다. 결과는 다음과 같습니다.
php-fpm:
일반 텍스트: 1150RPS
단일 쿼리: 530RPS
roadrunner:
일반 텍스트: 2200RPS
단일 쿼리: 1600RPS
일반 텍스트 -- 상수 JSON 쿼리 반환
단일 쿼리 – 단일 쿼리의 결과를 JSON 형식
으로 데이터베이스에 반환하는 쿼리는 시작 시간이 부족하고 데이터베이스에 대한 영구 연결을 사용하기 때문에 훨씬 빠릅니다.
원본 주소: https://dev.to/dev_family/roadrunner-here-and-now-2oo9
번역 주소: https://learnku.com/php/t/61447
위 내용은 바라보다! PHP 프로그램 속도를 높일 수 있는 좋은 점 '로드러너'가 여기 있습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!