webman 성능

전통적인 프레임워크 요청 처리 프로세스

  1. nginx/apache가 요청을 수신
  2. nginx/apache가 요청을 php-fpm에 전달
  3. php-fpm이 환경을 초기화, 예를 들어 변수 목록 생성
  4. php-fpm이 각 확장/모듈의 RINIT 호출
  5. php-fpm이 디스크에서 php 파일을 읽기(사용 시 opcache를 통해 방지 가능)
  6. php-fpm이 어휘 분석, 구문 분석, opcode로 컴파일(사용 시 opcache를 통해 방지 가능)
  7. php-fpm이 opcode 실행(8, 9, 10, 11 포함)
  8. 프레임워크 초기화, 다양한 클래스 인스턴스화 포함, 컨테이너, 컨트롤러, 라우터, 미들웨어 등.
  9. 프레임워크가 데이터베이스에 연결하고 권한 검증, Redis에 연결
  10. 프레임워크가 비즈니스 로직을 실행
  11. 프레임워크가 데이터베이스, Redis 연결 종료
  12. php-fpm이 자원 해제, 모든 클래스 정의 및 인스턴스 파괴, 심볼 테이블 파괴 등
  13. php-fpm이 각 확장/모듈의 RSHUTDOWN 메소드를 순차적으로 호출
  14. php-fpm이 결과를 nginx/apache에 전달
  15. nginx/apache가 결과를 클라이언트로 반환

webman의 요청 처리 프로세스

  1. 프레임워크가 요청을 수신
  2. 프레임워크가 비즈니스 로직을 실행(opcode 바이트코드)
  3. 프레임워크가 결과를 클라이언트로 반환

맞습니다, nginx 리버스 프록시가 없는 경우, 프레임워크는 이 3단계만 있습니다. 이는 이미 PHP 프레임워크의 극치라고 할 수 있으며, webman의 성능은 전통적인 프레임워크의 수 배, 심지어 수십 배에 달합니다.

더 많은 참고 부하 테스트