게시판 퍼블리쉬 시스템에 대한 고찰

acidd15의 이미지

요즘 게시판들 보면 다 똑같은 모습입니다.

DB insert -> DB fetch -> rendering

당연히 DB row가 많아지면 퍼포먼스에 신경을 써줘야 하는것은 당연한 말이구요..

그래서 그 대안으로(어쩌면 차세대 방식이될지도 모르는...) 퍼블리쉬 시스템의 장단점과 해결방법을 토론해 보고자 합니다.

;-)

p.s 하지만 차세대 방식은 아닙니다..ㅋㅋ..이미 오래전부터 사용해 왔지만..막상 국내 배포버전에 이것을 응용한 프로그램은 보지 못했던거 같아 감히...:-|

익명 사용자의 이미지

어떤방식을 말하는 것이지요?

어떤방법인지 소개를 해주세요.

lifthrasiir의 이미지

firefox wrote:
어떤방식을 말하는 것이지요?

어떤방법인지 소개를 해주세요.

MovableType처럼, 처리 결과를 정적인 HTML 페이지로 만들어 놓고 서비스하는 것을 말하는 것 같습니다. 많이 바뀌지 않는 페이지일 경우 부하가 상당히 줄어 들겠지요.

(물론 MovableType이 완전한 HTML 페이지를 생성해 내는 건 아닙니다. 최근에는 동적인 부분만을 PHP로 따로 빼내서 출력하도록 하는 걸로 알고 있습니다.)

- 토끼군

익명 사용자의 이미지

차라리 기존의 방식을 그대로 유지하고, 최근에 호출된 n개의 페이지를 캐쉬하는 편이 더 낫다 생각됩니다.

rendering <- 이 과정에서 문법이 간단한 경우에는 변환/역변환이 쉽지만 조금만 복잡해지면 무진장 골때려집니다.

그밖에, 수정/삭제라던가 페이지 목록이라던가 하는 문제들을 생각하면 그야말로 골때리기 그지 없죠.

익명 사용자의 이미지

DB insert -> DB fetch -> rendering
이게 보통 아닌가요.

kirrie의 이미지

tokigun wrote:
firefox wrote:
어떤방식을 말하는 것이지요?

어떤방법인지 소개를 해주세요.

MovableType처럼, 처리 결과를 정적인 HTML 페이지로 만들어 놓고 서비스하는 것을 말하는 것 같습니다. 많이 바뀌지 않는 페이지일 경우 부하가 상당히 줄어 들겠지요.

(물론 MovableType이 완전한 HTML 페이지를 생성해 내는 건 아닙니다. 최근에는 동적인 부분만을 PHP로 따로 빼내서 출력하도록 하는 걸로 알고 있습니다.)

- 토끼군

이 부분은 예전에 생각해 봤던 건데요, 게시판에서 가장 히트가 많은 부분이 최근 첫 페이지라고 했을때 새 글이 올라 올때마다
최근 첫 페이지만 HTML로 만들어 놓는거지요. 이 아이디어를
당시 제 싸부에게 이야기했더니, 대체 어느 정도의 요구를 핸들링
할 수 있는 게시판을 만들기에 그렇게까지 해야 하냐고 핀잔을 주더군요.
생각해보면 엄청나게 붐비는 포털 사이트의 게시판등이 아닌 이상
그렇게까지 최적화를 해야 할 필요가 있나 하는 생각도 듭니다.

이와 비슷한 방법으로 제 싸부가 jsp로 뭐 만드는 중이었는데,
싸부는 첫 페이지를 메모리에 항상 올려놓고 요청이 들어 올때마다
뿌려주는 식을 택하더군요. 그러면 디비 억세스가 현저하게 줄겠죠.
아무래도 HTML을 만들면 미미하지만 하드가 움직여야 하니까..

--->
데비안 & 우분투로 대동단결!