심포니와 라라벨의 성능 비교

3037 단어 심포니PHP라라벨
요 전날 약간의 기회가 있었고 Symfony와 Laravel의 부하 테스트를 실시한 적이 있었으므로, 그 때의 결과를 공유하고 싶습니다.

테스트 환경


  • EC2: m4.large
  • Amazon Linux: 잊어버린
  • Nginx: 잊었다
  • php: 7.2
  • Laravel: 5.6
  • Symfony: 3.4

  • 튜닝에 관하여


  • php는 opcache를 유효하게 해 validate 하지 않는 설정으로 해 튜닝.
  • php-fpm도 프로세스 관리를 자동이 아니라 dynamic으로 설정.
  • max_children이라든지 start_servers, min_spare_servers등을 적절히 설정.

  • 시스템 요구 사항


  • Nginx 서버에서 요청을 수락하고 서버의 php-fpm에 FatCGI 형식으로 던집니다 (unix 소켓을 통해).
  • Symfony/Laravel은 동일한 VPC 내의 다른 API 서버에 http를 요청하여 JSON 형식으로 데이터를 수신하고 구문 분석하여 간단한 표시를 수행합니다.
  • Symfony도 Laravel도 http client는 guzzle를 채용.

  • 테스트 결과



    라라벨




    동시 연결 수
    응답 시간(ms)
    처리량(requests/s)


    10
    19
    14.85

    20
    36
    23.22

    30
    83
    22.3

    40
    122
    22.58

    50
    175
    22.17




    동시 접속수를 10씩 새겨 올려 갔습니다. 응답 시간은 서서히 올라갑니다. 처리량은 20정도로 두드리기(울음)

    심포니




    동시 연결 수
    응답 시간(ms)
    처리량(requests/s)


    10
    20
    14.89

    20
    69
    16.44

    30
    129
    16.55

    40
    195
    15.65

    50
    252
    15.64




    이쪽도 응답 타임은 순조롭게 느려져 갑니다. 처리량도 20 정도로 두드려. 그렇게 변하지 않아.

    응답 시간 비교





    응답 시간은 종합적으로 Laravel 쪽이 빨라. 동시 접속이 20일 때는 두 배 정도 다르다. 대체로 30ms 정도 빠르다. 다만, 20으로 벌써 두드리기 때문에, 그 이상의 실적은 그다지 참고가 되지 않을지도.

    처리량 비교





    처리량에서도 Laravel 쪽이 좋다. 이것을 보는 한 Laravel은 20도 조금 정도 갈 수 있을 것 같지만, Symfony는 뭐 20 정도일까라고 하는 정도.

    고찰·총괄



    뭐 20정도의 동시 접속으로 이런 느낌이므로 정직 부하 테스트로서는 그다지 좋은 결과가 되어 있지 않다. 동시 접속은 5씩 정도로 새겨도 좋았을지도 모른다.

    실은 php 이외에도 Ruby나 Node에서의 퍼포먼스 계측이 먼저 행해지고 있어, 그 쪽은 100이라든지 200이라든지 동시 접속해도 대처하고 있었기 때문에 100정도 지금은 할 생각이었으므로, 이런 느낌이 되어 버려 네.

    이전, 2코어의 머신에서도 php5.6, CakePHP2계의 어플리케이션이 노력해도 동시 접속으로 20정도였기 때문에, 이런 것인가.

    솔직히 아무래도 배 비교 상태입니다만, Symfony는 4계가 나와 있는데도 LTS의 관계상 v1로 사용할 수 없을 것 같았으므로, 3계로 테스트를 하고 있습니다. 한편 Laravel은 최신의 5.6으로 LTS는 아닙니다만, v1가 세상에 나올 때에는 LTS가 되어 있을 것 같은 분위기였으므로 최신판을 사용하고 있습니다. 그런 의미에서는 조금 페어가 아니었을지도. Symfony4라면 더 빨랐을지도 모른다.

    덧붙여서 무키가 되어 백엔드의 API에의 접속을 그만두거나, Lumen이나 그다지 불필요한 것이 들어 있지 않은 Symfony로 테스트해 보았습니다만 다소 퍼포먼스는 좋아지는 것의 그다지 변하지 않았습니다.

    좋은 웹페이지 즐겨찾기