Mind Forest: Beneath imaginations: 사랑하기/텍스트큐브 카테고리 글 목록https://forest.nubimaru.com/시간의 토양에 기억의 나무를 심으며2024-03-19T18:08:59+09:00Textcube 1.10.10 : Tempo primo텍스트큐브 트래픽 줄이기 (1) 외부 리소스 사용inureyeshttps://forest.nubimaru.com/entry/how-to-decrease-textcube-traffic-by-using-external-resources2008-09-21T17:37:34+09:002008-09-21T17:32:49+09:00<p>텍스트큐브를 대용량 트래픽에 대응하여 사용할 수 있도록 하기 위한 다양한 방법들이 있다. 다양한 방법들이 텍스트큐브 내에 들어있고, 또한 다양한 방법으로 텍스트큐브의 최적화가 가능하다. 텍스트큐브의 트래픽에 병목 현상을 가져오는 요소는 크게 세 가지가 있다. 여기서의 트래픽은 단순히 일일 회선 용량뿐만이 아니라 동시 접속자수 등을 포함한 개념이다.</p>
<ol><li>세션 생성 및 유지, 삭제, 보수 과정</li>
<li>자바스크립트 컴포넌트 및 정적 컴포넌트를 불러오거나 스킨의 이미지등을 불러오는 과정</li>
<li>랜덤 태그 지원</li>
</ol>
<p>이 세 부분은 텍스트큐브의 로드에 큰 영향을 준다. 서버의 설정에 따라 다르겠지만, 위의 문제들을 개선하는 것 만으로도 텍스트큐브는 동일 리소스로 600%에서 1500%의 동시 접속자 수를 감당할 수 있게 된다.<sup style="font-family:tahoma;"><a href="https://forest.nubimaru.com/entry/how-to-decrease-textcube-traffic-by-using-external-resources#footnote_2041195_1" id="footnote_link_2041195_1">1</a></sup></p>
<p>위의 문제점 중 두 번째 문제를 해결하는 가장 간단한 방법인 외부 리소스를 사용하는 법에 대해서 설명해 본다.</p>
<p> </p>
<h4>외부 정적 리소스 사용하기</h4>
<p>텍스트큐브는 다른 도구에 비하여 실시간 AJAX 및 다양한 기능을 처리하기 위하여 블로그 페이지에서 호출하는 프레임웍 용량이 큰 편이다. (그만큼 지원하는 기능도 많다) 방문자의 브라우저에 기본적으로 로딩되는 EAF#.js 및 common#.js, gallery.js 등의 용량 합계는 약 60kb에 달한다. 이미지 위주의 블로그라면 이 정도의 용량이 큰 비중은 아니겠지만, 이미지 없고 (또는 플리커나 피카사에서 이미지를 불러쓰고) 텍스트위주의 스킨 및 블로그의 경우 자바스크립트 로딩 용량은 때로는 배보다 배꼽이 더 큰 상황을 발생시킨다.</p>
<p>60kb는 적어보이지만 100명의 방문자가 6메가바이트를, 1000명의 방문자가 60메가바이트의 트래픽을 소모하는 양이다. 물론 방문자의 브라우저에 캐싱되기 때문에 자주 방문하는 사용자들의 경우에는 새로 불러오는 경우가 줄겠지만, 블로거뉴스등의 트래픽 몰이가 들어오면 만 명의 사용자에게 600메가의 트래픽을 자바스크립트 프레임웍 전송에만 소모하게 된다.</p>
<p>텍스트큐브 1.7.6 이상에서는 외부의 공개된 저장소나, 자신이 지정한 곳에서 자바스크립트 프레임웍등의 정적 리소스를 불러올 수 있다. 해당 기능을 사용할 경우 특별히 저장소를 지정하지 않으면 기본값으로 [TNF](<a href="http://forum.tattersite.com/ko%29">http://forum.tattersite.com/ko)</a><a href="http://forum.tattersite.com/ko%29" onclick="window.open('http://forum.tattersite.com/ko%29');return false;" style="border:none; text-decoration:none; padding-left:15px; margin-right: -0.5em; background: transparent url(/plugins/NewWindowLink/newwindow.gif) no-repeat 0px 50%;" title="다음 링크를 새 창으로 엽니다. : 'http://forum.tattersite.com/ko)'"> </a> 에서 [다음 커뮤니케이션](<a href="http://www.daum.net%29">http://www.daum.net)</a><a href="http://www.daum.net%29" onclick="window.open('http://www.daum.net%29');return false;" style="border:none; text-decoration:none; padding-left:15px; margin-right: -0.5em; background: transparent url(/plugins/NewWindowLink/newwindow.gif) no-repeat 0px 50%;" title="다음 링크를 새 창으로 엽니다. : 'http://www.daum.net)'"> </a> 으로부터 지원받은 서버를 이용하여 운영하는 텍스트큐브 리소스 페이지 ( <a href="http://resources.textcube.org">http://resources.textcube.org</a><a href="http://resources.textcube.org" onclick="window.open('http://resources.textcube.org');return false;" style="border:none; text-decoration:none; padding-left:15px; margin-right: -0.5em; background: transparent url(/plugins/NewWindowLink/newwindow.gif) no-repeat 0px 50%;" title="다음 링크를 새 창으로 엽니다. : 'http://resources.textcube.org'"> </a> ) 를 사용한다.</p>
<p>이 기능을 사용하기 위해서는 아래의 방법을 따르게 된다.</p>
<ol><li>우선 텍스트큐브를 1.7.6 이상으로 업그레이드한다. (그 이전 버전에는 이 기능이 없다...)</li>
<li>텍스트큐브의 최고 관리자 계정 (처음 설치할 때 만든 계정이다) 으로 로그인한다. 이 경우 일반 사용자와는 다르게 '서비스 관리' 메뉴가 나타난다. 1.8 이상에서는 서비스 관리 아이콘을 볼 수 있다.</li>
<li>서비스 관리 - 서버 메뉴를 선택한다.</li>
<li>외부 리소스 사용을 체크한다.</li>
</ol>
<p> </p>
<p style="text-align: center;"><a href="/attach/7/1145002462.jpg"><img src="https://forest.nubimaru.com/cache/thumbnail/7/1145002462.w600-h309.jpg" width="600" height="309" alt="사용자 삽입 이미지" title=""/></a></p>
<p style="text-align: center;">표시한 부분에 체크하고 저장하면 된다. 스샷은 1.8 알파 기준. (1.7.6 이상에서도 동일한 메뉴에 위치하고 있으므로 찾기 쉽다)</p>
<p> </p>
<p>만약 기본값으로 지정된 TNF 리소스 서버를 사용하지 않을 경우, 공개되어 있는 외부 리소스 주소를 아래에 추가적으로 적으면 된다. 이 경우 외부 리소스를 그 경로에서 읽어오게 된다. 용량 제한이 없는 서버가 있는 경우 그 서버에 1.8은 resources 이하의 파일들을, 1.7 버전들은 script 디렉토리를 웹에 올려놓고 그 경로를 적으면 된다.</p>
<p> </p>
<p> </p>
<p>외부 리소스를 사용할 경우 단순히 트래픽만 줄어드는 것이 아니라 서버가 파일을 제공할 필요가 없으므로 connection 및 서버 로드도 감소시키는 효과가 있다. 옵션 조절만으로 큰 이득을 얻을 수 있으므로 사용하기를 권장한다. (기본값은 사용하지 않는 것이다.)</p>
<p>이 기능은 로그인 후 들어가는 관리 패널에는 적용되지 않는다. 지정한 저장소에 문제가 생길 경우 설정을 변경할 수 있어야 하며, 임의로 지정한 저장소가 해킹당했을 경우 위험성이 생기기 때문이다.</p>
<p>다음에는 세션 관리 부분의 최적화에 대해서 이야기해 볼 예정이다.</p>
<p> </p>
<fieldset style="margin:20px 0px 20px 0px;padding:5px;"><legend><span><strong>크리에이티브 커먼즈 라이센스</strong></span></legend><!--Creative Commons License--><div style="float: left; width: 88px; margin-top: 3px;"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.0/kr/" target=_blank><img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/2.0/kr/88x31.png"/></a></div><div style="margin-left: 92px; margin-top: 3px; text-align: justify;">이 저작물은 <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.0/kr/" target=_blank>크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스</a>에 따라 이용하실 수 있습니다.
<!-- Creative Commons License-->
<!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/2.0/kr/" />
</Work>
<License rdf:about="http://creativecommons.org/licenses/by-nc-nd/">
<permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
<permits rdf:resource="http://web.resource.org/cc/Distribution"/>
<requires rdf:resource="http://web.resource.org/cc/Notice"/>
<requires rdf:resource="http://web.resource.org/cc/Attribution"/><prohibits rdf:resource="http://web.resource.org/cc/CommercialUse"/></License></rdf:RDF> --></div></fieldset><div class="fb-like" data-href="https://forest.nubimaru.com/entry/" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>
<div class="fb-comments" data-href="https://forest.nubimaru.com/entry/" data-width="630" data-numposts="2" data-colorscheme="light"></div><div class=footnotes><img src="/plugins/FootNote/image/dizzle/title.gif" style="margin-bottom:5px;" /><div class=footnotes_in><ol class=footnotes><li id="footnote_2041195_1">P3 1.4GHz 시스템 기준의 테스트이으로 사양에 따라 다를것이다. <a href="#footnote_link_2041195_1"><img src="/plugins/FootNote/image/dizzle/btt.gif" align="absmiddle" style="margin-left:5px;" /></a> </li>
</ol></div></div><p><strong><a href="https://forest.nubimaru.com/entry/how-to-decrease-textcube-traffic-by-using-external-resources?commentInput=true#entry2041195WriteComment">댓글 쓰기</a></strong></p>텍스트큐브 카테고리 추가inureyeshttps://forest.nubimaru.com/entry/creating-textcube-category2008-09-21T00:52:25+09:002008-09-21T00:52:25+09:00<p>텍스트큐브 카테고리를 새로 만들었다. 카테고리 하나 추가하는데 시간이 오래 걸렸다.</p>
<p>2년이 넘는 시간동안 개발한 프로그램이지만, 이제서야 자신을 대표하는 단어중 하나로 받아들이기로 했달까. 설명하기는 힘들지만 자신에게는 중요한 종류의 이유.</p>
<fieldset style="margin:20px 0px 20px 0px;padding:5px;"><legend><span><strong>크리에이티브 커먼즈 라이센스</strong></span></legend><!--Creative Commons License--><div style="float: left; width: 88px; margin-top: 3px;"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.0/kr/" target=_blank><img alt="Creative Commons License" style="border-width: 0" src="http://i.creativecommons.org/l/by-nc-nd/2.0/kr/88x31.png"/></a></div><div style="margin-left: 92px; margin-top: 3px; text-align: justify;">이 저작물은 <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.0/kr/" target=_blank>크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스</a>에 따라 이용하실 수 있습니다.
<!-- Creative Commons License-->
<!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/2.0/kr/" />
</Work>
<License rdf:about="http://creativecommons.org/licenses/by-nc-nd/">
<permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
<permits rdf:resource="http://web.resource.org/cc/Distribution"/>
<requires rdf:resource="http://web.resource.org/cc/Notice"/>
<requires rdf:resource="http://web.resource.org/cc/Attribution"/><prohibits rdf:resource="http://web.resource.org/cc/CommercialUse"/></License></rdf:RDF> --></div></fieldset><div class="fb-like" data-href="https://forest.nubimaru.com/entry/" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>
<div class="fb-comments" data-href="https://forest.nubimaru.com/entry/" data-width="630" data-numposts="2" data-colorscheme="light"></div><p><strong><a href="https://forest.nubimaru.com/entry/creating-textcube-category?commentInput=true#entry2041194WriteComment">댓글 쓰기</a></strong></p>