>PHP 프레임워크 >Workerman >작업자는 효율적인가?

작업자는 효율적인가?

(*-*)浩
(*-*)浩원래의
2019-12-12 09:32:372299검색

workerman 자체는 PHP 프로세스 관리 및 소켓 통신용 모듈이 포함된 PHP 다중 프로세스 서버 프레임워크이므로 php-fpm, nginx 또는 Apache와 같은 컨테이너에 의존하지 않고 독립적으로 실행할 수 있습니다.

작업자는 효율적인가?

순수한 PHP 개발

workerman은 완전히 PHP로 개발되었습니다. Workerman을 사용하여 개발된 애플리케이션은 php-fpm, Apache 및 nginx와 같은 컨테이너에 의존하지 않고 독립적으로 실행될 수 있습니다. 이는 PHP 개발자가 애플리케이션을 개발, 배포 및 디버그하는 것을 매우 편리하게 만듭니다. (권장 학습: Workerman 튜토리얼 )

PHP 다중 프로세스 지원

서버 다중 CPU의 성능을 최대한 활용하기 위해 Workerman은 기본적으로 다중 프로세스 및 다중 작업을 지원하도록 설정되어 있습니다. Workerman은 외부 서비스를 제공하기 위해 메인 프로세스와 여러 하위 프로세스를 시작합니다. 메인 프로세스는 하위 프로세스의 종료 신호를 모니터링하고 서비스를 처리하기 위한 새로운 하위 프로세스를 생성하는 역할을 합니다. 뿐만 아니라 Workerman을 더욱 안정적으로 만듭니다.

TCP 및 UDP 지원

workerman은 TCP 및 UDP 두 가지 전송 계층 프로토콜을 지원합니다. 비즈니스 코드를 변경하지 않고 전송 계층 프로토콜을 변경하려면 구성의 한 필드만 변경하면 됩니다.

높은 동시성 지원

workerman은 Libevent 이벤트 폴링 라이브러리를 지원합니다(Libevent 확장 프로그램 설치 필요). Libevent를 사용하면 높은 동시성에서 뛰어난 성능을 발휘합니다. 사용됩니다.

다양한 애플리케이션 계층 프로토콜 지원

인터페이스는 사용자 정의 프로토콜을 포함한 다양한 애플리케이션 계층 프로토콜을 지원합니다. Workerman이 기본적으로 지원하는 프로토콜에는 HTTP, WebSocket 및 단순 텍스트 프로토콜이 포함됩니다. 동시에 Workerman은 공통 프로토콜 인터페이스를 제공하며 개발자는 이 인터페이스를 기반으로 자신만의 프로토콜을 쉽게 개발할 수 있습니다.

긴 연결 지원

PHP 애플리케이션은 채팅방, 게임 등 클라이언트와 긴 연결을 유지해야 하는 경우가 많지만 기존 PHP 컨테이너(apache, nginx, php-fpm)에서는 이를 수행하기가 어렵습니다. 이것을 해라.

workererman을 사용하면 PHP 긴 연결을 쉽게 사용할 수 있습니다. 단일 PHP 프로세스는 수천 또는 수만 개의 동시 연결을 지원할 수 있으며, 여러 프로세스는 수십만 또는 수백만 개의 동시 연결을 지원할 수 있습니다.

내장 모니터링

Workerman에는 프로세스 종료 횟수 및 종료 상태, 각 프로세스가 차지하는 메모리 크기, 모니터링되는 IP 등 Workerman 자체의 일부 데이터를 계산할 수 있는 모니터링 및 통계 모듈이 내장되어 있습니다. 포트, 각 프로세스의 시작 시간, 해당 프로세스가 실행 중인 서비스 이름, 각 프로세스에서 처리한 요청 수, 연결 수, 실패한 패킷 전송 수 등이 있습니다. 이 정보는 php start.php status를 로컬에서 실행하여 로컬에서 볼 수 있습니다.

하트비트 감지 지원

게이트웨이/작업자 개발 모델은 서버 측에서 하트비트 감지를 지원합니다. 이를 통해 정기적으로 애플리케이션 계층 하트비트를 클라이언트에 보낼 수 있으며 극단적인 클라이언트 연결 끊김(정전, 갑작스러운 네트워크 장애 등)을 즉시 감지할 수 있습니다. ) ).

위 내용은 작업자는 효율적인가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.