CDN 적용을 위한 알고리즘 제안 - root님께 *^^* 정보
CDN 적용을 위한 알고리즘 제안 - root님께 *^^*본문
이미지를 업로드할 때 그래픽 파일의 크기가 1mb를 넘는다면 imagemagic으로 파일크기 조정을 하고
조정된 파일의 크기가 200k이상이면 ncftp로 cdn server에 업로드 한다면 ... 더 좋을거 같아요.
조정된 파일의 크기가 200k이상이면 ncftp로 cdn server에 업로드 한다면 ... 더 좋을거 같아요.
.
--> imageMagicK로 그래픽 파일 크기조정을 하니까 사이즈가 더 늘어서 pass~!!!
.
.
쇼핑몰을 운영하시는 분들의 경우 그래픽 파일을 많이 올리는데 그것 때문에 발생하는 traffic이 아주 큰
골치거리라고 봅니다. cafe24의 cdn hosting을 사용하면 쇼핑몰의 로딩속도도 빨라지고 비용도 크게
줄어들도 ... 1석2조라고 봅니다. 영카트의 경쟁력을 위해서라도 그누보드 개발자님께서 관심있게
살펴봐 주시면 고맙겠습니다. CDN이 된다면 일 방문자 2천명이 넘는 사이트도 CDN호스팅을 통해서
골치거리라고 봅니다. 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를 바꾸고 없으면 원래대로 보여 줍니다.
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님 부탁드립니다 *^^*
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/";
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)는 좀 더 고민을 해보구요.
두가지 경우가 있습니다. 그래픽 파일을 (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
그누보드4 : 팁(tip) > cheditor스킨에서 cafe24의 CDN 서비스 이용하기
http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=8125