포럼
XE성능 100배 올리는 패치
2015.07.09 12:17
https://github.com/xpressengine/xe-core/pull/1598
XE + varnish 캐시서버 + nginx/아파치 웹서버 세팅으로 기존의 XE속도를 100배까지 올리는 패치입니다.
간단한 벤치마크 결과로 100배~200배 성능의 향상이 있지만, 이는 물론 실제 운용의 성능 향상과 거리가 있을 수 있습니다. 다만 위 글에서 밝힌 내용에 따르면 varnish와 같이 사용할 경우에 현실적으로 XE 속도의 몇배의 향상은 가능하리라 생각됩니다.
- 서버 부하 최소화. 서버비 절약.
- 클라우드플레어를 단독 혹은 varnish와 같이 사용 가능하며, DDoS 방어능력 업
- Dom컨텐츠 로딩 타임 단축. 체감 성능 향상.
많은 관심 부탁드리겠습니다~
Varnish 캐시서버 + XE(+패치) + nginx(혹은 아파치) 성능은 위의 링크를 참조하시기 바랍니다. 이어지는 내용은 nginx 리버스 프록시 캐시 성능에 대한 추가적인 내용입니다. (이 글의 덧글로 올라온 질문에 대한 답변)
nginx reverse proxy cache + XE + 아파치 성능 테스트
- nginx 세팅은
proxy_no_cache $cookie_nocache $arg_nocache$arg_comment; # 쿠키가 있으면 캐싱 안함 proxy_cache_valid 200 5s; # 5초간 캐싱. 이 값이 너무 크면 페이지가 제때에 갱신이 안되니 주의
패치 적용하지 않는 경우
Requests per second: 169.03 [#/sec] (mean)
Time per request: 177.487 [ms] (mean)
Time per request: 5.916 [ms] (mean, across all concurrent requests)
Transfer rate: 3503.33 [Kbytes/sec] received
패치를 적용하면
$ ab -n 1000 -c 30 http://localhost/
...
Requests per second: 3488.28 [#/sec] (mean)
Time per request: 8.600 [ms] (mean)
Time per request: 0.287 [ms] (mean, across all concurrent requests)
Transfer rate: 71305.82 [Kbytes/sec] received
...
$ ab -n 10000 -c 100 http://localhost/
Requests per second: 12813.79 [#/sec] (mean)
Time per request: 7.804 [ms] (mean)
Time per request: 0.078 [ms] (mean, across all concurrent requests)
Transfer rate: 261932.47 [Kbytes/sec] received
$ w
14:43:52 up xx days, 22:07, x user, load average: 0.23, 0.25, 0.24