모든 종류의 캐시는 사실 하드웨어나 시스템의 한계를 트릭으로 성능을 향상시키는 것입니다.
트릭이라는게 모든 대상에게 성능향상을 주지는 못합니다. 캐시의 원리가 그렇죠. 정적페이지 라면 캐시 개념 자체가 대입될 필요도 없겠죠.
캐시라는 게 동적인 페이지를 어느 한순간의 상황을 일정 기간동안 동일하게 제공하므로서 새로운 정보를 확인하는 시간과 자원을 절약하므로서 빠른 성능으로 응답해 주는 것 입니다.
이런 캐시의 원천적 한계 때문에 제공하는 대상도 제한적이고 페이지의 요소에서도 제한적으로 적용이 되어야 합니다.
일부 캐시 기술에서는 페이지 내에서 캐시할 곳 아닐 곳 구분해서 운용하는 기술이 사용되고는 있지만 저희 RXE에서 모듈형태로 사용할 수 있는 것은 없습니다.
이렇다 보니 전체화면을 캐시할때 고려할 상황이 무척 많아집니다. 누군가에게는 안보여줘야 하는데 캐시가 되어 보여지게 되니 그것을 예외처리하고 하다 보면 캐시의 효율은 조금씩 떨어지기 마련입니다. 이건 캐시를 구현한 기술의 문제라기 보다는 캐시 자체의 구조적 한계인거죠.
PC,모바일,웹,앱,크롤러,쿠키 등 다양한 상황을 고려해서 사용하지 않으면 낭패를 볼 수 있는게 캐시된 화면을 보여주는 것입니다. 캐시되었다는건 이미 다른 누군가가 본 화면을 찰칵하고 찍어 놓은 것인데 이게 내가 볼 화면과 정확히 일치 하지 않으면 문제의 발생이 될 수도 있다는 것 입니다.
물론 캐시가 만료되기 전까지 많은 대상에게 빠르게 화면을 제공할 수 있는 큰 장점이 있습니다. 그래서 저희도 오늘까지 계속 사용을 했는데요. 오늘 부로 여러가지 고려사항을 고려하지 않고 그냥 실시간 화면(위젯에의한 캐시 제외)을 제공하는 것으로 결정했습니다. 결정하게 된 이유는 전체화면 캐시를 제공하지 않더라도 충분히 빠르게 출력을 제공할 수 있기 때문입니다.
사실 슈퍼캐시라는 모듈의 개발 취지나 사용을 권장하는 부분은 전체화면캐시 가 아니란 것 알고 계신가요? @기진곰님 께서도 자주 밝히셨지만 게시판 캐시만 잘 써도 서버 자원소모를 엄청 줄이고 속도를 많이 개선할 수 있다고 하셨습니다.
전체화면캐시는 그냥 서비스적인 것이라고 생각하시는게 어쩌면 더 옳은? 판단 일 수 있다고 생각합니다. 서버 자체가 워낙 느린 경우 전체회면 캐시로 캐시된 이후 속도차가 극적으로 나다보니 오히려 전체화면캐시 기능에 더 체감적으로 만족감을 느낄 수 있다고 생각되구요.
저희는 뭐 전체화면캐시 제공하지 않아도 충분하다고(로긴해서 사용하는 회원들은 어차피 늘 전체화면 캐시 없이 이용중이니..) 판단 이제 전체화면 캐시는 종료합니다.
타운도 전체화면 캐시는 사용 안하지는 제법? 되었네요.
전체화면 캐싱에 효과가 있을지는 미비하죠 ㅎㅎ
특히 회원제가 주된 목적이면요 ㅎㅎ