질문/조언질답게시판

예를 들어 메뉴같은 것은 한번 등록하면 거의 바뀌지 않는데요

 

메뉴 출력을 레이아웃에서 루프를 돌리는게 아니라 위젯으로 제작한 다음 캐시 시간을 엄청 길게 주면

 

슈퍼캐시 쓰는것과 비교할 때 속도나 서버 자원에서 유의미한 결과가 나올까요?

  • profile

    그렇게 구현해도 상관없지 않죠.

    다만 그걸 레이아웃에 얼마나 잘녹이냐, 그리고 이용자가 님혼자뿐인지, 아니면 범용으로 제작되는 공개 레이아웃이냐에 따라 호불호는 분명히 갈릴 것입니다.

    단순히 질문자님께서 서버의 자원효율을 높이기 위해서라면 그렇게 시도하셔도 됩니다.

    위젯케시를 24시간 정도 여유두고, 메뉴 바꿔야할때 메뉴 작업 끝난 다음 해당 메뉴를 적용하기위해 캐시재생성 하는  방식을 이용하시면 되거든요.

  • profile ?

    먼저 답변 감사합니다.

    레이아웃에 녹여낸다는 말씀이 무슨뜻인지 잘 모르겠습니다.ㅠ
    디자인을 뜻하시는 거라면 문제가 되지 않구요
    자원효율이나 속도 가 단순히 향상된다에 초점이 간다기 보다는
    향상되긴 하는데 과연 유의미한 차이가 있을까? 입니다
    오래 전에는 네비게이션도 위젯을 사용했다고 하던데 장기적으로 득이라면 위젯으로 만들어 보려구요.

  • ? profile

    1. 위젯으로 메뉴 캐시를 생성해봐야 성능이 향상 될까?
    0.001 초정도 속도 향상이 있겠죠.

    0.001초 의 성능향상을 위해 시간을 들이기보다 그 위젯작업을 안하시는 것이 좋습니다.


    2. 위젯을 생성하면 위젯 스킨 코드위에 div 블럭이 2개정도 쌓이게 됩니다.

    이때 얼마나 빈공간이 나타나지 않고 잘 매꿔주고, 그 css를 적절하게 다루냐가 관건이죠.

    div나 그런 태그들에 초기화를 위한 코드들의 의해 호환성이 깨질수 잇어서 그런 부분을 얼마나 잘 녹아내냐는 것입니다.

    3. 1번과 동일한 상맥인데, 요즘의 서버와 서비스하는 호스팅들의 속도는 상상초월할정도록 옛날보다는 빨라졌습니다. PHP5.1 php4.x 버전대를 이용하는것 아니고서야 위젯 캐싱으로 인해서 이득보는 시간차이가 그렇게 없습니다.

  • ? profile

    마음에 안와닿으신다면 다음과 같이 생각해보세요.

    철인 삼종경기를 합니다.

    첫번째 자전거-> 수영 -> 마라톤

    처리 속도로는 자전거 구간이 더 빠른상태입니다.

     

    그런데 현재 질문자님은 자전거구간을 수정하고 싶으시다고 이게시글을 남기신겁니다. 더 빠르게 하고 싶다고

    그럼 전체적으로 처리 속도를 봤을때 자전거 구간 0.5초, 수영구간 1초, 마라톤 구간10초라고 칩니다.

    원하시는 부분이 자전거의 구간에서 0.01초 시간단축을 희망하시고 계신겁니다.

    그러면 기록은 자전거 구간 0.49초 , 수영구간1초, 마라톤구간10초 이렇게 나타납니다. 

     

    전체 기록에서 겨우 0.01초가 단축된 것입니다.

    그렇다면 현재 속도에 영향을 주는 구간인 마라톤구간을 고쳐야지, 자전거 구간을 고칠필요가 잇을까요?

    자전거 구간보다 마라톤구간에 어떻게 더 빨리 처리할지를 고민하는 편이 훨신 낫다는 겁니다.

  • profile ?
    성의 가득한 답변 정말 감사합니다. 시간낭비 할 뻔 했군요..ㅋㅋ
  • profile
    지금 생각하신 것을 시도하시는 것도 효율이 무의미 할 정도일 것이라는 생각이 듭니다.
    php에서 캐시성능이 워낙 뛰어나기도 하고 XE에서 캐시파일에 활동되는 것을이 많이 있을 겁니다. 메뉴는 정확히 어떻게 캐시하는지는 모르지만 일단 새글표시모듈 같은경우 적절한 캐시가 사용되어 새글표시 등을 하는 등 굳이 지금 구현된 것을 개조해서 더 빨라지거나 하기보다는 다른 서드파티 자료와 작용시 문제를 일으킬 것 입니다.

    이것과 연관된 이야기 일수 있기도 하고 아닐 수 있지만 어제 제가 작성한 글이 있는데
    https://xetown.com/topics/1241455

    아마 요즘 같은 환경에서는 이제 서버의 최적화 이외 솔루션에서 최적화의 수준은 고도화작업이 필요한 수천 수만건의 검색이 필요한 부분에서 일 것 입니다. 메뉴가 수천개가 되어도 게시글 수천개와 비교가 안될 정도로 메뉴를 확인하는 작업은 뭐 무시할 수준이겠죠.
  • profile
    제가 최근 슈퍼캐시의 전체화면 캐시도 이제 굳이 안쓰는게 어쩌면 통일된 화면을 제공하고 그다지 느리지도 않은 속도로 응답할 수 있다고 글을 하나 쓴 것이 있습니다. 같은 맥락일 수 있습니다.
    슈퍼캐시의 전체화면 캐시의 경우 제한적인 대상에게 빠른 응답을 보여줄 확율도 있지만 아닌 경우도 굉장히 많습니다. 그런데 관리자는 로그아웃 후 테스트 시 반복해서 테스트 해보면서 자기 위안을 하는거죠.

    반면 슈퍼캐시에서 제공하는 게시판캐시의 경우 그리고 위젯캐시도 이건 이야기가 완전히 달라집니다. 모든 대상에게 적용되는 성능향상이기도 하지만 특히 게시판캐시의 경우 사이트규모가 커지면 커질수록 효과가 극대화 되는 것이라 이런부분에 집중해서 최적화가 필요하다고 봅니다.
  • ?
    메뉴 캐시파일이 nfs 에 위치하면 의미가 있을 수 있습니다.
    이걸 고려해야 할 정도라면 댓글 내용도 이미 인지를 하고 계실 듯 하네요.