그누보드에 ob_start 써보셨나요? > 그누4 질문답변

그누4 질문답변

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

그누보드에 ob_start 써보셨나요? 정보

그누보드에 ob_start 써보셨나요?

본문

 
ob_start();

php , html code...

ob_end_flush();
 
 
이것을 쓰면 속도가 아주 현저하게 개선된다고 하는데 적용해서 테스트 해보신 분
계신가요? 만일 쓰게 된다면 어느 부분에넣는게 가장 좋을 까요???
 
php 속도향상 방법...
 
3. 버퍼링

기본적으로 PHP의 버퍼 크기가 8K이기때문에 결과물이 크면 나누어서 보내야 하기에 I/O 시간만으로도 상당한 시간을 잡아먹게 됩니다.
하지만 버퍼링으로 결과물을 모았다가 한꺼번에 뿌려주게 되면 다른 방법들을 쓰지 않더라도 몇배의 성능 개선도 가져올 수 있습니다.

간단히 스크립 처음에 마지막에 각각 ob_start() 와 ob_end_flush() 를 추가해주기만 하면 됩니다.

그냥 ob_start() 대신 ob_start('ob_gzhandler') 로 추가할 경우 (PHP에 gzip 모듈이 올라와 있어야 합니다.)
대부분의 웹브라우져가 압축을 지원하므로 트래픽양을 줄일 수 있고 결과적으로 클라이언트의 화면에 페이지가 뜨는데 걸리는 시간이 단축됩니다.
이 방법을 쓰더라도 웹브라우져가 압축을 지원하지 않으면 압축을 하지 않고 보내므로 따로 압축을 지원하는지 안하는지 확인할 필요도 없습니다.

댓글 전체

위에 언급된 대로,
php는 스크립트 언어의 특성상 한 꺼번에 모아서 전송을 하게 됩니다.

따라서 위에 언급된대로 일반적인 코드 파싱인 경우는 이미 메모리에 로드한 상태이므로 빠른 처리를 할 수 있습니다.

그러나 한 페이지에 출력되는 결과에서 이미지가 과다하게 많거나 이미지 용량이 크거나, 또는 첨부파일 다운로드시에는 상당한 트래픽을 주게 됩니다.
언급된것과 같이 메모리에 로드한상태에서 전송을 하기 때문입니다.
다운로드시 다운받는 파일의 용량이 작은 경우는 별 문제가 없으나, 용량이 조금만 커도 서버 및 홈페이지에 많은 무리를 주게 됩니다.

따라서 일반적인 코드 파싱정도에만 사용하길 권장합니다.

* 자신이 직접 사용해보면서 자신이 사용하기 쉬우면서 강력한 기능을 할 수 있도록 하는 것이 가장 효율적이라고 볼 수 있을 것 같습니다.
이해하기 쉽게 다시 설명을 해주셔서 감사합니다.

그렇다면 목록보기 정도에만 이용하는 것이 좋겠네요^^
내용보기에는 커다란 그림들이 있을 수 있으니까요...

/bbs/list.php의 가장 위와 가장 아래(skin 파일 인클루드 아래),
/bbs/view_comment.php, /bbs/board.php의 그래픽이 없는 부분에 넣었어요^^

심정적으로 조금은 빨라진 것 같기는 한데, 서버의 용량만 된다면 그래픽이 있는
부분에 써도 되겠네요?
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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