질문/조언질답게시판
Extra Form
PHP PHP 7.4
CMS Rhymix

안녕하세요. 오랜만에 질문을 올립니다.

 

라이믹스 캐시와 관련된 기능 중에서 php extension 을 통해 APCu와 memcached를 사용할 수 있어서 사용을 해봤습니다.

기존에 memcached로 캐시를 사용중이었고, 캐시로 문제된 적은 없었습니다.

얼마전 기진곰님의 댓글 중에서 소규모의 사이트에서는 APC가 오히려 효율이 좋을 수 있다는 말에 APC로 캐싱 방법을 바꿔서 약 3일 정도 사용해봤습니다. (사이트는 소규모 사이트 입니다.)

 

속도는 memcached와 큰 차이는 없어보였고 괜찮으면 그대로 더 사용을 해보려고 했으나 너무 캐싱이 많이 되어서 잔해가 남는 문제들이 있었습니다.

가령 예를 들면 알림센터에서 알림을 확인하였는데 아직도 알림이 남아있는 것 같이 남아있는 문제, 모듈이나 위젯의 설정을 변경하였으나 바로 반영되지 않고 계속 변경전 모습을 모여주는 문제가 치명적이었습니다.

해당 문제들은 슈퍼캐시의 영향을 받지 않았다고 생각합니다. 캐시 방식을 APC에서 다시 memcached 로 변경했을 때는 문제가 사라졌습니다.

 

제가 다른 CMS에서 APC캐시는 사용해보지 않아서 이런 문제가 라이믹스와의 호환문제인지 APC의 고질적인 문제인지 궁금합니다.

  • profile
    제 답변이 완벽하지 않습니다만..(이 분야에서는 잘 알지 못합니다.)
    APC캐시가 지금의 opcache 와 비슷한 캐싱이기 때문에 현 최신버전에서 사용하기엔 그다지 안좋아 보입니다.
    차라리 opcache가 지원된다면 memcache를 이용하시는 편이 훨신 더 낫지 않을까 라는 생각이 들긴합니다. ㅇ_ㅇ;;
  • profile profile
    먼저 답변 감사합니다.
    opcache가 php 설치시 거의 기본 내장이라 php.ini 에 한줄 추가하는 것만으로 기본 사용을 하는데 APC의 캐싱구조가 opcache와 비슷한 원리군요.
    항상 memcached 사용만해서 다른 캐시도 사용해볼까 하다가 저런 문제가 있을 주 몰랐어요 ㅋㅋ
  • profile
    저희는 apc 사용을 오래 했는데 이상 없습니다. 서버는 잘몰라서 세팅 해주신대로 씁니다.
  • profile profile
    7.4 apc만 문제가 있는건지 php 버전을 바꿔서도 테스트 해봐야겠습니다.
    apc도 문제없이 사용된다는 사실을 알면 돼서 더 확실하게 알아볼 수 있겠네요. 감사합니다.
  • profile

    PHP 7.2+ 기준으로 APC/APCu 문제 없습니다. 단, 최근에 나온 리눅스 배포판에서 정상적인 방법으로 패키지 설치하셨다는 가정 하에 그렇고, 어디서 소스를 구해다가 컴파일 설치하셨거나 윈도우 서버에서 출처불명의 .dll 파일을 그냥 사용하셨다면 아무 것도 보장할 수 없습니다.

     

    PHP 입장에서도 APC는 엄연히 서드파티 자료이기 때문에, PHP 7.4가 나온 지 얼마 안 되었을 때 사용하셨다면 호환성이 떨어졌을 수도 있습니다. 7.4.5까지 나온 현 시점에는 별다른 문제가 없는 것으로 보입니다.

     

    단, 이 녀석이 memcached보다는 좀 민감한 편입니다. 평소 캐싱하는 데이터 분량에 비해 apc.shm_size가 너무 작다면 문제가 될 수 있습니다. 중소규모 커뮤니티 기준으로 apc.shm_size는 최소 128M가 되어야 합니다. APC와는 무관하지만, opcache를 지나치게 과격하게(?) 설정해 놓은 경우에도 종종 캐시가 업데이트되지 않을 수 있습니다.

  • profile profile
    컴파일한 php는 맞지만 7.4.5 버전에 pecl 을 사용하려 설치한 apc입니다.
    캐싱 설정은 opcache도 memcached도 apc도 모두 기본설정을 따라가고 있는데 apc.shm_size가 32M로 되어 있네요.
    답변 감사합니다!