사이트가 워낙 느려서 메인페이지 반응을 조금이나 빠르게 해보려 했던게 얼마전에 일인데요. 그때도 가장 효과를 볼 수 있는게 바로 캐시의 활용이었습니다.

 

단, 저와 같은 단순 사용자의 경우 XE에서 제공하는 캐시를 사용하는 수준이죠. 그래서 메인페이지의 모든 위젯의 캐시를 설정하고 또 각 게시판의 상단에 배치된 인기글위젯도 모두 캐시가 적용될 수 있도록 코드도 전부 새로 작성했었습니다.

 

메인페이지의 경우 쿼리가 많기에 캐시를 지정한 것과 아닌것의 차이가 분명이 있고 또한 캐시만료를 모두 같은 시간에 되지 않게 시간차를 두고 설정도 하려고 했습니다.

 

그런데 최근 슈퍼캐시의 풀페이지 캐시는 정말 놀라울 정도의 속도를 보여줍니다. (물론 비로그인시입니다.) 슈퍼캐시가 나오기전에 저희 사이트에 로그인시 굉장히 느려짐을 제가 확인하고 굉장히 당황해 있었습니다. 불과 얼마전 일입니다.

 

그때 @기진곰님의 도움을 받아 분석을 해보니 저희 사이트에서 사용중인 알림센터 개인알림들이 너무 많이 싸여 있다보니 페이지 이동시마다 이 쿼리때문에 굉장히 ???(2-3초 지연) 느려지는 사태가 발생했습니다.

 

기진곰님께서 긴급조치를 해주시고 다시 정상적인 속도로 사용이 가능했습니다.

 

이후 알림센터는 계획된 패치로 캐시를 사용해 매번 쿼리하지 않는 형식과 DB구조가 개선되었습니다.

 

 

요즘 슈퍼캐시와 알림센터 개선 만으로도 이전에 체감하지 못했던 반응속도에 굉장히 만족스러운 사이트가 되었습니다. 물론 로그인시의 속도를 말씀 드리는 겁니다. 비로그인시는 광속이구요...

 

ssh 접속이 가능하신 분들은 아마 db쿼리가 발생할때 cpu 점유율 확인해보시면 상당한 부하가 발생한다는 것을 확인하실 수 있을겁니다.

 

저희 사이트에 알림센터 알림이 너무 많아 쿼리시 부하가 발생할때 CPU 점유가 순간적으로 90% 까지 올라가는 것을 확인했었는데요. 이렇게 캐시기술로 DB의 일을 줄여주면 서버가 굉장히 쾌적하게 운영이 될 수 있습니다.

 

캐시만세!

웹지기

profile
10년을 다루다 보니 이제 간단한 것도 만들고 커뮤니티 운영에 관한 다양한 노하우가 있습니다. 어려운 점이나 가지신 생각을 함께 소통해 보아요.
https://rxtip.kr/ 라이믹스 꿀팁
  • ?
    XE계에서의 혁명? 개벽? ㅎㅎ;;; XE = 언제나 느릴수 밖에 없다.라는 수식어를 이제 헛소리로 바꿔버린 슈퍼캐시네요.
  • ? profile

    로그인시는 슈퍼캐시도 도움이 되겠지만 db를 많이 사용하는 서디파티 자료의 캐시기술 적용이 사실 체감되는 효과가 더 큰 듯 합니다. 특히 알림센터의 경우는 페이지 이동시마다 db를 쿼리하는 것이라 예전에는 부하를 좀 많이 주고 있었던게 사실이었던거죠. 개선이 되어서 아마 많은 사이트에 속도향상에 도움이 되었을 겁니다.

    다른 자료들도 개선이 된다면 XE로 만든 사이트도 괜찮은 ? 속도가 나올 것 같네요~

  • profile
    이제 기진곰님은 들어오지 않는 서버 세팅의뢰에 울어버리고 마는데..(응?)
  • profile profile
    튜닝장사는 이제 끝인가요 ㅋㅋ
  • profile

    기능이 많아질수록 사이트는 점점 느려지고... 캐시라는 건 어떻게 보면 어설픈 땜빵이죠. 문제의 원인은 대부분 그대로 두고, 예전에 계산한 결과를 재활용해서 빠른 것처럼 보이게 만드니까요. 운나쁘게 캐시 만료 시점에 방문하는 사람만 고생 시키는 거죠 ㅎㅎ

     

    그래도 캐시 외에는 딱히 방법이 없나 봅니다. 세상의 모든 컴퓨터는 캐시로 떡칠이 되어 있거든요. CPU에도 캐시가 들어 있고, O/S도 캐시를 대량으로 활용하고, 아파치와 nginx도 캐시를 쓰고, PHP에도 opcache가 포함되어 있고, DB에도 쿼리 캐시가 있고... 오죽하면 컴퓨터공학에서 가장 어려운 두 가지 문제 중 하나가 캐시를 제때 갱신해 주는 거라는 얘기가 나올 정도이니...

  • profile profile
    캐시 갱신...너무어려움..ㅠㅠ
  • profile
    기진곰님은 정말 대단하신것 같아요. ㅋㅋ
    알림센터 다음 패치 기대해봐야 겠네요!!
  • ?
    제가 오랜기간 보았던 모듈중에 역대급 자료입니다. 강추
  • ? ?
    모든 사이트에서 적용가능한 부동의 1위 자료가 될듯. ㅎㅎ
  • profile
    슈퍼캐시 어디서 다운받나요?
  • profile profile
    아직 개발중입니다. https://github.com/kijin/xe-supercache
  • profile profile
    모듈에다가 넣었는데도 안되네요;
  • profile profile
    폴더 이름을 supercache로 바꿔주세요. 깃허브에서 다운받으면 폴더 이름이 달라집니다.
  • profile
    슈퍼캐시 저도 써보고 있는데 먼가 빨라진듯? 합니다 제사이트가 사람이없어서 체감은 확못느끼지만 기분상 좋습니다.
  • profile profile
    슈퍼캐시 사용을 적극 권장 → 서버 부하 감소 → 서버 1대에 더 많은 사용자 수용 가능 → 수익!!! ㅋㅋ
  • profile
    이런 걸 생각하고 개발하신다는 게 대단하다고 생각됩니다. 개발중인 모듈을 적용하는 것도, 혹 오류가 나거나 제가 대처할 수 없는 상황이 될까봐 정식 배포일 기다리고 있습니다 :) 흐흐
  • profile
    슈퍼캐시 적용 하니 게시판 목록 에서 검색이 반응이 없네요 .. 웹에서 검색안되면 앙꼬없는 진빵인데..
    해결 방법 있나요?
  • profile profile
    저는 이상없네요. XE최신버전입니다. @기진곰
  • profile profile

    저희는 옵션 설정이 이상태라 아마 다를수도 있을 듯 합니다.

    search.PNG

     

  • profile profile
    반응이 없는 게 뭔가요?

    혹시 "기타 설정" 화면에서 POST 이중 검색 차단 기능이 켜져 있나요?