예를 들어 메뉴같은 것은 한번 등록하면 거의 바뀌지 않는데요
메뉴 출력을 레이아웃에서 루프를 돌리는게 아니라 위젯으로 제작한 다음 캐시 시간을 엄청 길게 주면
슈퍼캐시 쓰는것과 비교할 때 속도나 서버 자원에서 유의미한 결과가 나올까요?
PHP | PHP 7.0 |
---|---|
CMS | Rhymix |
예를 들어 메뉴같은 것은 한번 등록하면 거의 바뀌지 않는데요
메뉴 출력을 레이아웃에서 루프를 돌리는게 아니라 위젯으로 제작한 다음 캐시 시간을 엄청 길게 주면
슈퍼캐시 쓰는것과 비교할 때 속도나 서버 자원에서 유의미한 결과가 나올까요?
먼저 답변 감사합니다.
레이아웃에 녹여낸다는 말씀이 무슨뜻인지 잘 모르겠습니다.ㅠ
디자인을 뜻하시는 거라면 문제가 되지 않구요
자원효율이나 속도 가 단순히 향상된다에 초점이 간다기 보다는
향상되긴 하는데 과연 유의미한 차이가 있을까? 입니다
오래 전에는 네비게이션도 위젯을 사용했다고 하던데 장기적으로 득이라면 위젯으로 만들어 보려구요.
1. 위젯으로 메뉴 캐시를 생성해봐야 성능이 향상 될까?
0.001 초정도 속도 향상이 있겠죠.
0.001초 의 성능향상을 위해 시간을 들이기보다 그 위젯작업을 안하시는 것이 좋습니다.
2. 위젯을 생성하면 위젯 스킨 코드위에 div 블럭이 2개정도 쌓이게 됩니다.
이때 얼마나 빈공간이 나타나지 않고 잘 매꿔주고, 그 css를 적절하게 다루냐가 관건이죠.
div나 그런 태그들에 초기화를 위한 코드들의 의해 호환성이 깨질수 잇어서 그런 부분을 얼마나 잘 녹아내냐는 것입니다.
3. 1번과 동일한 상맥인데, 요즘의 서버와 서비스하는 호스팅들의 속도는 상상초월할정도록 옛날보다는 빨라졌습니다. PHP5.1 php4.x 버전대를 이용하는것 아니고서야 위젯 캐싱으로 인해서 이득보는 시간차이가 그렇게 없습니다.
마음에 안와닿으신다면 다음과 같이 생각해보세요.
철인 삼종경기를 합니다.
첫번째 자전거-> 수영 -> 마라톤
처리 속도로는 자전거 구간이 더 빠른상태입니다.
그런데 현재 질문자님은 자전거구간을 수정하고 싶으시다고 이게시글을 남기신겁니다. 더 빠르게 하고 싶다고
그럼 전체적으로 처리 속도를 봤을때 자전거 구간 0.5초, 수영구간 1초, 마라톤 구간10초라고 칩니다.
원하시는 부분이 자전거의 구간에서 0.01초 시간단축을 희망하시고 계신겁니다.
그러면 기록은 자전거 구간 0.49초 , 수영구간1초, 마라톤구간10초 이렇게 나타납니다.
전체 기록에서 겨우 0.01초가 단축된 것입니다.
그렇다면 현재 속도에 영향을 주는 구간인 마라톤구간을 고쳐야지, 자전거 구간을 고칠필요가 잇을까요?
자전거 구간보다 마라톤구간에 어떻게 더 빨리 처리할지를 고민하는 편이 훨신 낫다는 겁니다.
그렇게 구현해도 상관없지 않죠.
다만 그걸 레이아웃에 얼마나 잘녹이냐, 그리고 이용자가 님혼자뿐인지, 아니면 범용으로 제작되는 공개 레이아웃이냐에 따라 호불호는 분명히 갈릴 것입니다.
단순히 질문자님께서 서버의 자원효율을 높이기 위해서라면 그렇게 시도하셔도 됩니다.
위젯케시를 24시간 정도 여유두고, 메뉴 바꿔야할때 메뉴 작업 끝난 다음 해당 메뉴를 적용하기위해 캐시재생성 하는 방식을 이용하시면 되거든요.