memcached 확장모듈이 설치된 php7에서 XE memcache를 적용해본 결과 오히려 적용 전보다 더 느려짐을 확인하였습니다. 아직 memcached 확장모듈이 php7을 지원하지않나봅니다. memcache는 php7에 깔리지도 않고요.

 

(참고로 memcache와 memcached는 서로 다른 php확장모듈입니다. 이름만 한글자 차이죠..;; 작명에 지친...)

 

http://pecl.php.net/package/memcached

설치조건을 보면 php6.0 버전 이상이라고 되어있습니다... 6대신 7이 나왔는데.. 말입니다...;

 

https://github.com/php-memcached-dev/php-memcached/tree/php7

그치만 여기서 php7 지원 개발이 아직 진행중인 걸 알 수 있습니다.

 

아무튼 memcached는 일단 포기하구요. 다른방법으로 캐싱할 수 있는 지 알아봤습니다.

그래서 찾은 방법이 file cache 입니다. 이건 결과물을 단순히 파일로 저장하는 형태입니다. 아주 기본적인 캐싱이죠..

 

근데 기본으로 안되어있더라구요.;; 이유는 모르겠습니다.

 

  'use_object_cache' => 'file',

위 설정을 db.config.php 파일에 추가해야만 적용이 되더라구요.

 

이걸로 DB쿼리요청을 줄여봤더니, 속도가 향상되었습니다. XETOWN에 적용중..

캐시설정을 관리자페이지에 만들어둘까 생각중에 있어요. 지금은 불편함..

  • profile

    파일캐시 폴더(files/cache/store)를 램디스크로 쓰면 성능 죽여줍니다 ㅎㅎ

    단, memcached처럼 오래된 데이터가 저절로 지워지지 않고 계속해서 쌓이기 때문에 조심해야 합니다. 한동안 운영해 온 사이트라면 파일캐시에 데이터가 수백메가씩 쌓이기도 해요. 램디스크라면 정기적으로 지워줘야겠죠...

    memcached 사용시 오히려 더 느려지는 현상은 예전에 다른 분도 제보해 주신 것 같은데요... 특히 게시판 글읽기시에는 캐시를 제대로 사용하지도 않고 오히려 더 복잡한 작업이 들어가기 때문에 느려질 수밖에 없습니다. 실제로 파일캐시에 비해 눈에 띄게 더 빠른 경우는 거의 보지 못한 것 같네요. 파일캐시는 쓰레기 파일이 계속 쌓이기 때문에 불편해서 잘 쓰지 않을 뿐이지요. 특히 웹호스팅에서는 파일캐시밖에 못 쓰는데 용량도 제한되어 있으니 무척 난감합니다.

  • profile profile
    네.. ㅎㅎ

    cron으로 주기적으로 지워준다면 되겠네요.
  • ?
    memcached 가 오히려 더 느리다니.. 그렇군요 ㅠㅠ