XE vs. Rhymix 벤치마킹 결과
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
결론:
PHP 5.5에서는 XE가 4% 정도 더 빠릅니다. 라이믹스에 새로 추가된 기능이 많고, XE 클래스 그대로 사용할 수 있도록 하기 위한 호환 레이어도 있기 때문에 좀더 무거운 거겠죠.
PHP 7.0에서는 라이믹스가 10% 정도 더 빠릅니다. 낡은 코드를 들어내고 오류를 많이 잡아서 최신 버전에 최적화한 덕분인 듯 합니다. (라이믹스 개발팀 대부분이 평소 PHP 7에서 작업합니다.)
Xdebug profiler를 돌려보면 어느 함수가 얼마나 많은 시간을 잡아먹는지 정확하게 측정할 수 있는데, 간단한 페이지에서는 트리거 처리와 템플릿 처리가 실행시간의 대부분을 차지합니다. 이 부분을 집중적으로 개선하여 PHP 5.5에서도 XE와 같거나 더 빠르게 동작할 수 있도록 해보겠습니다 ^^

댓글 22
라이믹스 개발자 4/3이 .....(?)
저는 php5.6환경이에요 ㅠㅠ(울음)
뭐, 그냥 그렇다구요.
이번에 7로 버전 변경하려고 하는데 cpanel에서 opcache가 기본 선택이 아니던데, 이거 선택 안해도 되려나요?;
코노리님 사이트에서 이거 설정하면 속도 캐시 적용하는게 빠르다고..본거 같은데
https://www.conory.com/note_linux/42964
지금 이 사이트는 opcache 적용된 거 맞죠?; enable 이라고 나오는데..
어제 php 7.0.5 선택했다가
오늘 누리고 결제 확인이 안되서
람보님 배포하신 누리고 관리자 모드만 다운받아서 설치했는데..
누리고 관리자 모듈 설치 > 업데이트 확인 후에..
다시 들어가니 잘못된 요청입니다 라고 나와서.. ㅠㅠ
다시 php 5.6 으로 내리고...
하니 결제 확인은 됐는데,
누리고 대시보드 화면은 다시 잘못된 요청입니다..라고 나오는 상황 ㅠㅠ
람보님 배포하신 버전을 다 깔아야 되나 보네요 ㅠㅠ