PHP7.0 은 얼마나 빠를까?

HYEONG HWAN, MUN/ 7월 28, 2015/ 미분류/ 4 comments

* PHP7 을 설치하시려면 다음의 글 (https://blog.lael.be/post/2407)을 참조하세요. (Apache with Mod-PHP7)

* PHP를 최신버전으로 구축하고 싶다면 https://blog.lael.be/post/2600 글로 이동하세요. (Nginx + PHP7-FPM + MariaDB)

 

최근 궁금한 것이 두가지 생겨서 테스트해보았습니다.

 

1. PHP 업로드 중에 읽기 요청이 들어오면 어떻게 되나? Read lock 이 걸리나?

물론 파일 변경이 0.005초 이내로 이루어지지만 그 사이에 read 가 일어날 경우 어떻게 되는지 궁금하여 실험해 보았습니다.

테스트 결과 : php 업로드 중에 읽기 요청이 들어오면 업로드 된만큼 해석해서 처리 -> 100% 에러발생

따라서 변경중에 엑세스가 일어나지 않게 maintenance mode 를 만들거나 linux rename 같은 atomic 함수를 이용하라고 하는군요.

 

참조 : http://stackoverflow.com/questions/15478298/what-happens-when-php-file-is-replaced-while-being-executed-on-linux-apache-serv

참조 : http://stackoverflow.com/questions/9021849/does-apache-read-lock-files-before-serving-them

참조 : http://superuser.com/questions/101676/is-there-some-difference-between-mv-and-cp-rm-the-old-file-on-unix

 

2. PHP 7.0 이 공식 문서에 따르면 이전버전보다 2배 빠르다고 한다. 정말일까?

 

공식 문서 : http://php.net/index.php

스크린샷 2015-07-28 오후 4.36.08

 

 

기존 단독 서비스 서버(CentOS 6.6 64bit, Apache 2.4, Mod PHP 5.5)와,

신규 구축 서버(Ubuntu 12.04 64bit, Apache 2.4, Mod PHP 7.0beta2)의 속도 측정 결과.

두 서버의 하드웨어 스펙은 비슷합니다.

 

- 테스트 환경

mysql 패키지가 기본 php 번들에서 빠져서 그누보드 테스트는 할 수 없었습니다. mysqli 및 pdo-mysql 을 지원하는 프로그램을 테스트 합니다.

(참고 : https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7#extmysql)

워드프레스 내의 페이지 하나를 새로고침하면서 최빈값 측정. 크롬 개발자 도구의 Timing 항목 사용.​

 

 

X-Powered-By: PHP/5.5.24

스크린샷 2015-07-28 오후 4.11.21

 

 

X-Powered-By: PHP/7.0.0beta2

스크린샷 2015-07-28 오후 4.11.35

 

- 측정결과 (TTFB 만 비교)
페이지 처리속도가 681ms 에서 225ms 로 3.02배 빨라짐. (향상됨)

--

 

http://www.php-benchmark-script.com/ 를 사용해서 함수 위주의 벤치마킹 실시.

하드웨어 사양을 동일하게 하고 운영체제를 Clean 설치 한 후에 PHP버전만 다르게해서 테스트 실시.

 

- PHP 5.5 서버에서 실행.
스크린샷 2015-07-31 오후 10.22.52

 

- PHP 7.0 서버에서 실행.

스크린샷 2015-07-31 오후 10.38.20

 

2배 정도 빨라진 것 같습니다. (twice as fast as PHP 5.6)

4 Comments

  1. 오.. 정말 PHP 7이 많이 향상됐군요. 나름 힘썼나봅니다.

    근데 과연 HHVM과 비교했을 땐 어떨까요.. 개인적으로 궁금하네요 ㅎㅎ

    1. 누구나 생각해 볼만한 사항입니다.
      실제로 해외 포럼에서는 PHP7에 대해서 많은 기대를 가지고 있습니다.

      벤치마크는 계속 지켜보고 있으며 가장 최근 벤치마크는 다음과 같습니다.
      테스트환경에 따라서 PHP7이 HHVM에 비해 훨씬 빠르거나(150% 향상) 비슷한 성능(10%미만 차이)을 내는 것으로 보입니다.

      PHP 7.0이 PHP 5.6에 비해서 2배이상 빨라진 것은 맞는것 같더군요
      현재 제 워드프레스 블로그에도 PHP 7.0 이 적용되어 있습니다.

      참조 : http://blog.litespeedtech.com/2015/07/16/php7-vs-hhvm-benchmark-series-1-hello-world/
      참조 : http://blog.litespeedtech.com/2015/07/24/php-7-vs-hhvm-benchmark-series-2-wordpress/

  2. 안뇽하세요 라헬님.
    포스팅 감사합니다.

    최소 2배 인듯하네요.
    이글을 보니.. PHP7 으로 가고 싶은 욕망이 넘치게 되는데, 안정화 이슈에 큰 문제는 없을까요??

    1. 올해 7월달부터 블로그를 Apache 2.4 + ModPHP 7.0 의 환경에서 구동하고 있는데 아직까지 별다른 문제사항은 발생하지 않았습니다.
      워드프레스 자체는 PHP7 에서 완벽히 동작하지만,
      워드프레스 플러그인들이 모두 PHP7 을 지원하지는 않을 것입니다.
      시도는 해 보셔요.

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*