본문 바로가기

웹 제작

웹사이트 튜닝으로 동접자 늘리기

웹사이트 운영을 하면서 사이트가 느리다라는 컴플레인을 호스팅 업체에 하는 경우가 있습니다.


최신서버로 바꾸고 스위치를 기가스위치로 바꾸어도 사이트 성능은 향상될 기미가 전혀 보이지 않는 경우가 많습니다.

이런 경우 홈페이지를 들여다보면 메인페이지(index.php나 index.asp로 되어 있는)에서
엄청나게 많은 DB query를 수행하고 있는 것을 봅니다.

특히 커뮤니티사이트들에서는 많은 게시판을 다양한 조건으로 가져와서 모든 정보를 다 보여주려 하고 있으며, 쇼핑몰에서는 다양한 조건으로 join, union등을 사용하여 현란한 쿼리문의 진수를 보여주고 있습니다.

이런 사이트들은 서버를 아무리 증설해고 L4로 로드밸런싱을 해도 속도가 현저히 좋아지지 않습니다.




속도를 향상시키기 위해서는 무조건 커넥션수를 줄이고 DB서버의 부하를 줄이는 방법밖에는 없습니다.

방법은 많은 사용자들이 처음 로딩하는 페이지에 DB접속을 최대한 줄이는 것입니다.

로딩시 1초가 걸리는 쿼리문을 1000명이 접속하면 이것을 버틸 서버 구성은 억대가 들어가지만 10분에 한번 씩 이러간 쿼리문을 실행한다면 간단한 서버구성만으로 부하을 크게 줄일 수 있습니다.

처음페이지를 일정시간(1분, 10분, 1시간)정도를 선택하여 퍼블리싱하여 html 파일로 생성해 둡니다.

사용자는 항상 이렇게 생성된 html 파일만 접근을 합니다.

이렇게 되면 DB접속빈도는 설정된 시간(1분, 10분, 1시간)만 접근하기 때문에 
부하는 웹서버에 국한되어 속도는 자연적으로 향상되게 됩니다.