database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
ㆍ자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
자유게시판 자유게시판 2128 게시물 읽기
 
No. 2128
게시판을 빠르게 하는 비법을 소개합니다.^^
작성자
정승희(popome)
작성일
2001-11-03 02:14
조회수
2,967

요즘들어 DSN의 속도가 많이 늦어지고 있는데...

설마하니 이곳에 개발자가 DB를 모르는 것도 아니고 Index를 안걸었다고는 생각하지 않습니다.

 

얼마전에 제가 이곳에 남길글 역시 한 회원으로서 사이트의 속도 개선에 대한 글을 올렸던걸 기억하시는 분들도 있을겁니다.

 

제가 여러가지 사이트를 개발하면서 생각해낸 아이디어 한가지를 여러분들께 공개하니 많이 활용하세요...제 경험상 사이트의 속도를 2배이상 아니 저의 경우는 거의 무자게 올라갔답니다.^^

 

사이트에서 속도의 영향을 주는 곳은 바로 첫 페이지와 게시판입니다.

만일 첫 페이지의 사이즈(이미지를 포함)해서 너문 큰경우겠지요...이런 문제는 프로그램어 소관이 아니니까 재껴두고^^

 

서론이 너무 길었나요~~

이제 본론으로 돌아와서 어떻게 하면 게시판을 빠르게 하느냐...

제가 운영하는 사이트인 www.oxnara.com 의 자유게시판에 들어가 보시기 바랍니다.

 

MySQL 과 NT한대로 버티는 게시판이고요 약 2만여개의 글이 올라갔으며 페이지로는 거의 천페이지가 넘고 평균적으로 답변글이 2~3개 이상이 있습니다. 또한 게시판에서 속도가 가장 나올수 없는 구조인 Tree형식으로 db를 설계하였습니다.(알아들을라나???)

 

그런데 평균 페이지 조회속도는 3초를 넘긴적이 없고 보통은 1초면 나옵니다. 또한 동시 접속자 3천명도 버텼고 동시 백여명이 글을 적은걸 버텼던 대단한 게시판입니다...ㅋㅋㅋ...자랑이 너무 많군...

 

물론 인덱스와 테이블을 단일로 하고 일반적으로 시스템 부하를 최소화 하기 위한 절차는 기본적으로 다 했습니다.

 

그정도로는 이속도가 못나오죠^^

 

가장 중요한 점은 게시판의 특징을 잘 알아야 한다는 점입니다.

50페이지정도 있는 게시판을 접할때 여러분들이 어느페이지를 먼저 보게 되나요? 성격이 이상한 분이라며 아마도 25페이지겠죠^^

 

하지만 대부분의 사용자라면 1~3페이지내로 그 범위가 축소됩니다.

저는 이점을 이용하여 게시판을 설계하였습니다.

게시판에서 가장 많은 데이타를 포함하고 있는 본문부분만을 뺀 나머지 필드만 동일한 임시 테이블을 만들었습니다.

 

이테이블에 약 10페이지 분량의 내용만 일치하도록 하였습니다.

그래서 list를 출력할때 10페이니 이내인 경우는 바로 이 테이블에서 데이타를 가져오는 방식을 취했습니다. 즉 일종의 캐쉬테이블을 만든 셈이지요.

 

여러분들도 게시판을 만들어 봤다면 10페이지 이내인 게시판이 느린경험은 없을겁니다. 느렸다면 프로그램어아 아니라 아마 ....ㅠㅠ

 

데이타를 입력/수정/삭제시 양쪽 테이블에 다 동시에 저장하고 list를 뿌릴때 페이지의 범위에 따라서 접속하는 테이블을 변경했습니다.

이경우의 동작의 속도는 기존방식의 2배가 걸리지만 이는 전체 게시판이 점유하는 시간의 1%도 안됩니다. 왜냐? 그건 100번 읽을때 1번도 글을 안쓰는 네티즌의 게으름 덕분이죠^^

 

이 방법을 이미 사용하고 계신분도 있을지는 모르지만 저 나름대로는 그냥 제머리속에서 나온 생각이라고 자부하고 싶답니다.

 

설마하니 위에 적은 방법으로 특허내서 때돈벌면...저 반만 주세요...ㅋㅋㅋ

 

참고로 제 홈피 주소는 www.popome.com 입니다. 많이 방문해 주세요^^

 

시간나면 또 다른 생각도 올리겠습니다.

이 글에 대한 댓글이 총 3건 있습니다.

다들 그렇게 하지 않나요.?

userlife님이 2001-11-03 14:39에 작성한 댓글입니다.

ox... 인 사이트는

 

모질라 0.9.4 에서는 아무것도 안보이는 군요..

가명님이 2001-11-04 00:17에 작성한 댓글입니다.

좋은 생각입니다. 승희님 말씀 하신 방법은 이미 이곳에서 토론 되었던 방법입니다. 그리고 그것이 현실적으로 가장 좋은 방법이라는 것도 인정합니다.

특히 사람들이 제일 많이 접속하는 ENTERANCE PAGE 정도만 그렇게 해 주어도 상당한 효과가 발휘될 것입니다. 페이지 생성은 이곳의 문태준님께서 제안해 주신 것 처럼

 

wget --source URL

 

이런 정도로 하면 될 것입니다. 물론 일정 시간간격으로 cron job 으로 돌리면 됩니다.

 

앞으로도 더욱더 좋은 글 많이 남겨 주세요.

advance님이 2001-11-04 09:41에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
2134게시판 이름이 뭔지 알수 있을까요??
고영록
2001-11-04
2774
2135┕>Re: HOME-MADE 입니다. :-)
정재익
2001-11-04 09:33:53
2628
2132꼭...
FITH
2001-11-03
2412
2136┕>Re: 꼭...
정재익
2001-11-04 09:37:49
2488
2129여긴 패스워드 한번 잃어버리면 그만인가요?
허은수
2001-11-03
2352
2130┕>Re: 죄송합니다. 은수님...
정재익
2001-11-03 17:36:44
2409
2131 ┕>Re: Re: 죄송합니다. 은수님...
허은수
2001-11-03 18:09:16
2422
2133  ┕>Re: Re: Re: 죄송합니다. 은수님...
정재익
2001-11-03 22:43:28
2371
2128게시판을 빠르게 하는 비법을 소개합니다.^^ [3]
정승희
2001-11-03
2967
2127방황을 끝내고.. 다시.. [1]
김명화
2001-11-01
2469
2125NO1.IT외 기업의 현실 [4]
엄종복
2001-11-01
2558
2124게시판의 알고리듬?
실마리
2001-10-30
2266
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다