댓글 수가 많을 경우 서버 부하를 줄여주는 코어 수정 팁입니다


http://sejin7940.co.kr/index.php?mid=xe_tips&page=2&document_srl=108198


해당 팁이 라이믹스에는 이미 적용되어 있나요?


  • profile
    기진곰 2016.09.16 10:19:15

    처음 보는 패치입니다. XE 깃허브에 등록된 것도 아닌 것 같고요. 아마 라이믹스에도 똑같은 문제가 있을 듯 합니다.

     

    링크하신 패치를 사용하더라도 여전히 비효율적인 부분이 남네요. 수정 부분을 최소화하시려다 보니 그렇게 된 것 같습니다. 애초에 동일한 문서에 대해 getGrant를 여러 번 호출하는 것이 문제이니, documentItem 클래스 쪽에서 isEnableComment() 및 isGranted() 함수의 반환값을 자체적으로 캐싱할 필요가 있어 보입니다. (이 부분에서 캐시 핸들러가 관여할 필요는 없고, documentItem 클래스에서 내부적으로만 기억하고 있으면 됩니다.)

     

    일반적으로 캐시를 1000번 요청하는 것이 DB를 1000번 요청하는 것보다 빠르긴 하지만, 아예 1번만 요청하는 것이 훨씬 나을 테니까요. 캐시 종류에 따라서는 오히혀 DB보다 느린 경우도 있고요.

  • profile
    고라자 2016.09.16 10:43:50
    엌 ㅋㅋㅋㅋ 그렇군요. 라이믹스가 xe코어에 비해 많은 개선이 되어있어서 이 팁도 이미 적용되어 있는줄 알았네요

    이 팁을 라이믹스에 적용해도 따로 문제점은 없...겠죠??
  • profile
    기진곰 2016.09.16 11:41:11
    라이믹스는 내부적으로 캐시 처리하는 방식이 다릅니다. 라이믹스식으로 패치해서 이번 주말 안에 develop 브랜치에 적용해 드릴게요.
  • profile
    고라자 2016.09.16 12:06:53
    기진곰님의 연휴를 제가 뺏어버린 것 같군요 ㅠ_ㅠ

    감사합니다!
  • profile
    기진곰 2016.09.16 16:48:31

    https://github.com/rhymix/rhymix/pull/584

  • profile
    고라자 2016.09.16 16:53:03

    엄청 빠르게 적용해 주셨군요!!!

    지금 바로 develop 브랜치의 파일을 적용해보면 되는 건가요?

  • profile
    기진곰 2016.09.16 19:32:26

서버에 요청 중입니다. 잠시만 기다려 주십시오...