CDN 적용을 위한 알고리즘 제안 - root님께 *^^* > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

CDN 적용을 위한 알고리즘 제안 - root님께 *^^* 정보

CDN 적용을 위한 알고리즘 제안 - root님께 *^^*

본문

이미지를 업로드할 때 그래픽 파일의 크기가 1mb를 넘는다면 imagemagic으로 파일크기 조정을 하고
조정된 파일의 크기가 200k이상이면 ncftp로 cdn server에 업로드 한다면 ... 더 좋을거 같아요.
.
--> imageMagicK로 그래픽 파일 크기조정을 하니까 사이즈가 더 늘어서 pass~!!!
.
.
쇼핑몰을 운영하시는 분들의 경우 그래픽 파일을 많이 올리는데 그것 때문에 발생하는 traffic이 아주 큰
골치거리라고 봅니다. cafe24의 cdn hosting을 사용하면 쇼핑몰의 로딩속도도 빨라지고 비용도 크게
줄어들도 ... 1석2조라고 봅니다. 영카트의 경쟁력을 위해서라도 그누보드 개발자님께서 관심있게
살펴봐 주시면 고맙겠습니다. CDN이 된다면 일 방문자 2천명이 넘는 사이트도 CDN호스팅을 통해서
저렴하게 운영할 수 있습니다. 쇼핑몰 운영시 아주 경쟁력이 있겠죠...
.
.
-- CDN을 위한 최종 로직 제안 입니다 --
(1) 그래픽 파일 로딩시
1 파일의 크기가 지정된 사이즈(예:200k)를 넘는경우 해당파일은 ncftp script를 이용해서 
   cdn server로 업로드 합니다.
.
(2) 그래픽 파일 보여주기 할 때 ...
1. wr_contents field에서
    http://domainname.cdn1.cafe24.com/gnuboard4/data/cheditor/0610/20061027_sweaters_dot.gif
    파일이 있으면 그것을 보여주도록 wr_content field의 IMG tag를 바꾸고 없으면 원래대로 보여 줍니다.
2. DB의 wr_contents를 바꾸지는 않습니다.

댓글 전체

imageMagicK로 파일크기 resize를 해 봤습니다. 결론은 의미없다입니다.

240k 1280*1024 파일을 resize 하니까 파일크기가 360k로 늘어났고
JPEG로 압축하니까 468k로 더 늘어났습니다. ImageMagicK에 들어있는
그래픽파일 압축로직이 더 꾸진거 같습니다. =..=a

이제 traffic을 줄일 수 있는 마지막 희망은 CDN밖에 없네요

* root님 부탁드립니다 *^^*
ncftp script라..
ncftpput을 잘사용하면 되겠군요.

글작성시에 이미지를 cdn으로 올리고
    (이때 이미지 사이즈에 따라서 서로 다른곳으로 올릴수는 있지만
      글보기시에 이미지마다 어디 있는지 링크를 결정 하려면
      이미지를 읽어서 사이즈를 체크해야하므로 오히려 더 부하가 걸리게 됩니다
      그러므로 사이즈는 체크 하지 않는것이 좋을것입니다. 전부올리는것으로...)
wr_content에 경로를 모두 cdn으로 변경하는것이 가장 쉬운 방법일것 같습니다.

현재 스킨에 ncftp script를 어떻게 적용할지를 고민해야할것 같고.
글올릴때 wr_content에 경로를 변경하는것은 URL 하나만 설정하면 되고
cdn 서버로 올려진 이미지 링크의 활성화가 얼마나 빨리되는지도 좀 확인해봐야 할듯 하군요.

cheditor에서 이미지 올릴때 이미지의 링크를 설정하것은 다음 소스를 수정하시면 됩니다.
 * g4_path/cheditor/insert_image.php
        $save_as_url = "$g4[path]/data/$g4[editor]/$ym/";
    위의 $save_as_url 을 다음의 예처럼 원하시는 것으로 수정하시면 됩니다. 
        $save_as_url = "http://domainname.cdn1.cafe24.com/gnuboard4/data/$g4[editor]/$ym/";
제가 문제는 너무 복합적으로 본 것 같습니다. 다시 잘라서 정리해 보겠습니다.

두가지 경우가 있습니다. 그래픽 파일을 (1) 첨부로 하는 경우와 (2) cheditor로 올리는 경우

(1)의 경우는 비교적 간단히 처리할 수 있을 것 같습니다.

글쓰기를 할 때 첨부파일정보를 읽어서 (/usr/bin/identify 명령어로 간단히 파악가능 합니다)
첨부 파일의 크기가 100k를 넘는 경우 게시글정보의 추가필드 wr_cdn1에 1을 마크하고
해당 파일을 cdn 서버로 ncftp script 명령으로 이전 합니다.

글보기를 할 때 view.skin.php에서 wr_cdn1이 1이면 $view[file]의 서버를 cdn으로 벼꿔서
파일이 존재하는지 확인해서 존재하면 로딩하고 아니면 $view[file]을 로딩 합니다.

(2)의 경우는 cheditor인데 url이 wr_content에 들어 있어서 좀 문제가 됩니다.
이부분은 언급하신 것보다 더 고민을 해봐야 할 것 같습니다.

일단 (1)의 경우만 개발해도... 효과는 꽤 될 것 같아요. (2)는 좀 더 고민을 해보구요.
다음팁을 참고하십시오.

그누보드4 : 팁(tip) > cheditor스킨에서 cafe24의 CDN 서비스 이용하기
http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=8125
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT