XE (1.8.19) vs. Rhymix (develop branch)

 

테스트 환경:

 

- Conoha.jp 클라우드서버 (8코어, 16GB RAM)

- Ubuntu 14.04 LTS 64비트

- PHP 5.5.9 (FPM, pm.max_children = 20)

- PHP 7.0.6 (FPM, pm.max_children = 20)

- MariaDB 10.1.13

- nginx 1.9.14

- DB 연결 방식: mysqli_innodb

- Zend Opcache 사용

 

테스트 방법:

 

- 설치 직후 메인화면 (XEDITION 레이아웃, 기본 위젯페이지) 로딩 속도를 측정

- 별도의 캐시 설정 없이 기본 적용되는 파일캐시만 사용

- 동시요청 8일 때와 16일 때를 모두 측정

- ab -n 4000 -c <동접수> -k -l http://localhost/

- 각각 10회 측정하여 가장 빠른 5회의 평균을 계산

 

테스트 결과:

 

1. PHP 5.5.9 (동시요청 8)

- XE: 330.6 req/s

- Rhymix: 318.4 req/s

 

2. PHP 5.5.9 (동시요청 16)

- XE: 378.6 req/s

- Rhymix: 363.6 req/s

 

3. PHP 7.0.6 (동시요청 8)

- XE: 591.4 req/s

- Rhymix: 653.2 req/s

 

4. PHP 7.0.6 (동시요청 16)

- XE: 697.4 req/s

- Rhymix: 780.2 req/s

 

Rhymix Benchmark.png

 

결론:

 

PHP 5.5에서는 XE가 4% 정도 더 빠릅니다. 라이믹스에 새로 추가된 기능이 많고, XE 클래스 그대로 사용할 수 있도록 하기 위한 호환 레이어도 있기 때문에 좀더 무거운 거겠죠.

 

PHP 7.0에서는 라이믹스가 10% 정도 더 빠릅니다. 낡은 코드를 들어내고 오류를 많이 잡아서 최신 버전에 최적화한 덕분인 듯 합니다. (라이믹스 개발팀 대부분이 평소 PHP 7에서 작업합니다.)

 

Xdebug profiler를 돌려보면 어느 함수가 얼마나 많은 시간을 잡아먹는지 정확하게 측정할 수 있는데, 간단한 페이지에서는 트리거 처리와 템플릿 처리가 실행시간의 대부분을 차지합니다. 이 부분을 집중적으로 개선하여 PHP 5.5에서도 XE와 같거나 더 빠르게 동작할 수 있도록 해보겠습니다 ^^

 

TAG •

기진곰

profile
GitHub @kijin 사람을 위한 인터넷 생태계의 발전에 많은 관심을 갖고 있습니다.
우리가 만들어 가는 XE의 새 이름, 라이믹스(Rhymix) 프로젝트에 참여하고 있습니다.
오픈소스 도로명주소 검색서버 및 API Postcodify를 개발, 운영중입니다.
국내외 서버 및 클라우드서버 세팅, 이전, 튜닝해 드립니다.
  • profile
    php7.0 만으로도 굉장한 속도차이가 나네요..
  • profile profile
    처음 나왔을 때 2배라고 하길래 에이 설마~ 했는데, 진짜더라구요 ㄷㄷㄷ
  • profile profile
    XE에서 7.0 이슈 처리를 다 해주고 나면 서드파티쪽 검토해보고 7.0으로 넘어가는 것을 생각해 볼만하겠습니다.
  • profile profile
    저 금방 업데이트해봤는데 음 ㅎㅎ 서드파티 쪽은 모르겠지만 ㅎ 잘 동작하는 거 같긴 해요;
  • profile profile
    누리고 쪽은 오류 있네요 ㅎ;
  • profile
    라이믹스 개발자 대부분이 X
    라이믹스 개발자 4/3이 .....(?)
    저는 php5.6환경이에요 ㅠㅠ(울음)
  • profile profile
    개발자 중에 유령이!
  • profile profile
    밤만되면 술귀신된다는 개발자입니다.(?)
  • profile profile
    에에.. 4/3가 아니라 3/4 아닌가요..??
    뭐, 그냥 그렇다구요.
  • profile profile
    유령개발자가 하나 있다죠... ㅋㅋ
  • profile
    으앗 이런 귀중한 자료를 정말 잘 읽었습니다.
  • profile
    7.0이 굉장히 빠르네요. 업데이트 해야겠어요.
    이번에 7로 버전 변경하려고 하는데 cpanel에서 opcache가 기본 선택이 아니던데, 이거 선택 안해도 되려나요?;
    코노리님 사이트에서 이거 설정하면 속도 캐시 적용하는게 빠르다고..본거 같은데
    https://www.conory.com/note_linux/42964
  • profile profile
    opcache 없으면 속도 망해요. PHP 7 쓰는 의미가 없어요.
  • profile profile
    http://eond.com/phpinfo.php
    지금 이 사이트는 opcache 적용된 거 맞죠?; enable 이라고 나오는데..
  • profile profile
    설치된 모듈 목록에 안 나오는 것을 보니 안 쓰고 있는 것 같은데요.
  • profile profile
    php설렉트 선택시, opcache채크 해야함.
  • profile profile
    감사합니다.
  • profile profile
    그렇군요 ㅎ
    어제 php 7.0.5 선택했다가
    오늘 누리고 결제 확인이 안되서
    람보님 배포하신 누리고 관리자 모드만 다운받아서 설치했는데..
    누리고 관리자 모듈 설치 > 업데이트 확인 후에..
    다시 들어가니 잘못된 요청입니다 라고 나와서.. ㅠㅠ
    다시 php 5.6 으로 내리고...
    하니 결제 확인은 됐는데,
    누리고 대시보드 화면은 다시 잘못된 요청입니다..라고 나오는 상황 ㅠㅠ
    람보님 배포하신 버전을 다 깔아야 되나 보네요 ㅠㅠ
  • profile profile
    거기에 필요한 메소드를 호출하는 형태이기 때문에..모두 설치해야해요.
  • ?
    개발자분들꼐는 죄송스럽지만 Rhymix는 오늘 알게 되었습니다. XE 와 같이 다양한 모듈들이 있는지 궁금합니다.
  • ? profile
    대부분의 XE 모듈, 애드온, 위젯, 레이아웃, 스킨 등을 그대로 사용할 수 있습니다.
  • profile ?
    아...그렇군요!