CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.4 |
안녕하세요. 오랜만에 질문을 올립니다.
라이믹스 캐시와 관련된 기능 중에서 php extension 을 통해 APCu와 memcached를 사용할 수 있어서 사용을 해봤습니다.
기존에 memcached로 캐시를 사용중이었고, 캐시로 문제된 적은 없었습니다.
얼마전 기진곰님의 댓글 중에서 소규모의 사이트에서는 APC가 오히려 효율이 좋을 수 있다는 말에 APC로 캐싱 방법을 바꿔서 약 3일 정도 사용해봤습니다. (사이트는 소규모 사이트 입니다.)
속도는 memcached와 큰 차이는 없어보였고 괜찮으면 그대로 더 사용을 해보려고 했으나 너무 캐싱이 많이 되어서 잔해가 남는 문제들이 있었습니다.
가령 예를 들면 알림센터에서 알림을 확인하였는데 아직도 알림이 남아있는 것 같이 남아있는 문제, 모듈이나 위젯의 설정을 변경하였으나 바로 반영되지 않고 계속 변경전 모습을 모여주는 문제가 치명적이었습니다.
해당 문제들은 슈퍼캐시의 영향을 받지 않았다고 생각합니다. 캐시 방식을 APC에서 다시 memcached 로 변경했을 때는 문제가 사라졌습니다.
제가 다른 CMS에서 APC캐시는 사용해보지 않아서 이런 문제가 라이믹스와의 호환문제인지 APC의 고질적인 문제인지 궁금합니다.
맛스타
Lv. 9
댓글 6
APC캐시가 지금의 opcache 와 비슷한 캐싱이기 때문에 현 최신버전에서 사용하기엔 그다지 안좋아 보입니다.
차라리 opcache가 지원된다면 memcache를 이용하시는 편이 훨신 더 낫지 않을까 라는 생각이 들긴합니다. ㅇ_ㅇ;;
opcache가 php 설치시 거의 기본 내장이라 php.ini 에 한줄 추가하는 것만으로 기본 사용을 하는데 APC의 캐싱구조가 opcache와 비슷한 원리군요.
항상 memcached 사용만해서 다른 캐시도 사용해볼까 하다가 저런 문제가 있을 주 몰랐어요 ㅋㅋ
apc도 문제없이 사용된다는 사실을 알면 돼서 더 확실하게 알아볼 수 있겠네요. 감사합니다.
PHP 7.2+ 기준으로 APC/APCu 문제 없습니다. 단, 최근에 나온 리눅스 배포판에서 정상적인 방법으로 패키지 설치하셨다는 가정 하에 그렇고, 어디서 소스를 구해다가 컴파일 설치하셨거나 윈도우 서버에서 출처불명의 .dll 파일을 그냥 사용하셨다면 아무 것도 보장할 수 없습니다.
PHP 입장에서도 APC는 엄연히 서드파티 자료이기 때문에, PHP 7.4가 나온 지 얼마 안 되었을 때 사용하셨다면 호환성이 떨어졌을 수도 있습니다. 7.4.5까지 나온 현 시점에는 별다른 문제가 없는 것으로 보입니다.
단, 이 녀석이 memcached보다는 좀 민감한 편입니다. 평소 캐싱하는 데이터 분량에 비해 apc.shm_size가 너무 작다면 문제가 될 수 있습니다. 중소규모 커뮤니티 기준으로 apc.shm_size는 최소 128M가 되어야 합니다. APC와는 무관하지만, opcache를 지나치게 과격하게(?) 설정해 놓은 경우에도 종종 캐시가 업데이트되지 않을 수 있습니다.
캐싱 설정은 opcache도 memcached도 apc도 모두 기본설정을 따라가고 있는데 apc.shm_size가 32M로 되어 있네요.
답변 감사합니다!