웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[제로카운터] 자동으로 DB를 지우자. (IP와 referer 5일 분량만 남기기)
2003.12.17 04:06
제로카운터. 사용자의 마음대로 꾸미기가 가능하고 강력한 통계기능을 가진 좋은 카운터죠.
하지만 이에도 문제점이 있었으니 바로 엄청난 양의 db를 차지한다는 것입니다.
모든 방문자의 IP 주소와 referer 를 db에 저장하기 때문에
방문객이 1만명, 10만명으로 늘어날수록 db의 용량은 엄청나게 늘어납니다.
그래서, 이 같은 문제점 때문에 제로카운터의 사용을 포기하는 경우가 많은데요.
IP와 referer DB를 5일분량만 남기고 그 이전의 것은 모두 삭제해버리면 이 문제는 간단히 해결됩니다.
물론, 카운터수는 그대로 유지되기 때문에 1년전의 카운터수도 알 수 있습니다.
단지, 별 필요없는 IP 정보와 referer 만 삭제하는 것이죠.
(제로카운터가 정상적으로 작동한다고 가정하고...)
zerocounter.php3 파일을 메모장으로 불러옵니다.
53번째 줄에 보면
//------------------- 카운터 값 읽어오는 부분 -----------------------------------
// 전체
$total=mysql_fetch_array(mysql_query("select unique_counter, pageview from counter_main where no=1", $connect));
$count[total_hit]=$total[0];
$count[total_view]=$total[1];
부분이 있죠. 여기에
$date = 60 * 60 * 24 * 5;
mysql_query("delete from counter_ip where (".time()." - date) >= ".$date) or error(mysql_error());
mysql_query("delete from counter_referer where (".time()." - date) >= ".$date) or error(mysql_error());
를 넣어줍니다.
즉, 수정하면
//------------------- 카운터 값 읽어오는 부분 ----------------------------------------------------------------------
$date = 60 * 60 * 24 * 5;
mysql_query("delete from counter_ip where (".time()." - date) >= ".$date) or error(mysql_error());
mysql_query("delete from counter_referer where (".time()." - date) >= ".$date) or error(mysql_error());
// 전체
$total=mysql_fetch_array(mysql_query("select unique_counter, pageview from counter_main where no=1", $connect));
$count[total_hit]=$total[0];
$count[total_view]=$total[1];
이렇게 되는 것이죠. 새롭게 추가한 것 소스는 5일이 지난 IP 정보와 referer 정보를 지워버리는 것입니다.
zerocounter.php3 파일은 제로카운터가 실행될 때마다 로딩되기 때문에
자동으로 db를 지워줍니다.
이렇게 하면 db 용량도 별로 차지하지 않고 정기적으로 db를 삭제해줘야하는 불편도 없습니다.
(제가 이 팁을 nzeo의 어디선가 보았는데요. 다시 찾아보니 찾을수가 없어서 다시 적어보았습니다.)
하지만 이에도 문제점이 있었으니 바로 엄청난 양의 db를 차지한다는 것입니다.
모든 방문자의 IP 주소와 referer 를 db에 저장하기 때문에
방문객이 1만명, 10만명으로 늘어날수록 db의 용량은 엄청나게 늘어납니다.
그래서, 이 같은 문제점 때문에 제로카운터의 사용을 포기하는 경우가 많은데요.
IP와 referer DB를 5일분량만 남기고 그 이전의 것은 모두 삭제해버리면 이 문제는 간단히 해결됩니다.
물론, 카운터수는 그대로 유지되기 때문에 1년전의 카운터수도 알 수 있습니다.
단지, 별 필요없는 IP 정보와 referer 만 삭제하는 것이죠.
(제로카운터가 정상적으로 작동한다고 가정하고...)
zerocounter.php3 파일을 메모장으로 불러옵니다.
53번째 줄에 보면
//------------------- 카운터 값 읽어오는 부분 -----------------------------------
// 전체
$total=mysql_fetch_array(mysql_query("select unique_counter, pageview from counter_main where no=1", $connect));
$count[total_hit]=$total[0];
$count[total_view]=$total[1];
부분이 있죠. 여기에
$date = 60 * 60 * 24 * 5;
mysql_query("delete from counter_ip where (".time()." - date) >= ".$date) or error(mysql_error());
mysql_query("delete from counter_referer where (".time()." - date) >= ".$date) or error(mysql_error());
를 넣어줍니다.
즉, 수정하면
//------------------- 카운터 값 읽어오는 부분 ----------------------------------------------------------------------
$date = 60 * 60 * 24 * 5;
mysql_query("delete from counter_ip where (".time()." - date) >= ".$date) or error(mysql_error());
mysql_query("delete from counter_referer where (".time()." - date) >= ".$date) or error(mysql_error());
// 전체
$total=mysql_fetch_array(mysql_query("select unique_counter, pageview from counter_main where no=1", $connect));
$count[total_hit]=$total[0];
$count[total_view]=$total[1];
이렇게 되는 것이죠. 새롭게 추가한 것 소스는 5일이 지난 IP 정보와 referer 정보를 지워버리는 것입니다.
zerocounter.php3 파일은 제로카운터가 실행될 때마다 로딩되기 때문에
자동으로 db를 지워줍니다.
이렇게 하면 db 용량도 별로 차지하지 않고 정기적으로 db를 삭제해줘야하는 불편도 없습니다.
(제가 이 팁을 nzeo의 어디선가 보았는데요. 다시 찾아보니 찾을수가 없어서 다시 적어보았습니다.)
댓글 4
-
김기엽
2003.12.17 10:00
제로카운터 어디서 받을수 있습니까? -
후니
2003.12.17 19:18
김기엽 // 자작프로그램 자료실에 가시면 메인에 뜹니다 -
원밖에서
2004.03.04 14:45
좋은 정보, 감사합니다 ^-^* -
우현아
2006.01.10 03:13
감사합니다 골칫거리 하나 해결했네여
제목 | 글쓴이 | 날짜 |
---|---|---|
일정시간 이 지난 게시물 정리하기.. [3] | 명동욱 | 2003.12.24 |
[MySQL] Set 형 자료형.. [3] | 서영태 | 2003.12.24 |
나도 @ 도메인 서비스를 해보자 [29] | 김병철 | 2003.12.19 |
[제로카운터] 자동으로 DB를 지우자. (IP와 referer 5일 분량만 남기기) [4] | 이주경 | 2003.12.17 |
카일레라 서버 페이지 만들기. [2] | teslaMINT | 2003.12.09 |
편법을 이용한 inlive 방송여부 체크 [7] | 심심타 | 2003.12.09 |
DB에서 받은 데이터 배열로 하나씩 뿌리기 | LetMeLove | 2003.12.09 |
세션을 이용한 관리자 모드 구축하기 3강 [6] | 박정호 | 2003.12.09 |
세션을 이용한 관리자 모드 구축하기 2강 [6] | 박정호 | 2003.12.09 |
세션을 이용한 관리자 모드 구축하기 1강(중복?) | 박정호 | 2003.12.09 |
쉘 명령어 사용하기 [11] | 9000㎒ | 2003.12.02 |
랜덤 배경음악 만들기. [6] | 폭주나루 | 2003.12.01 |
throttle-me를 이용한 계정 트래픽 나타내기 [39] | 旻天 | 2003.11.27 |
제로보드회원의 포인트 랭킹 체크하기 sql 정리 [4] | 한꼬마 | 2003.11.26 |
한꼬마의 제로보드 이용법 (sql로 테이블 호출) [2] | 한꼬마 | 2003.11.26 |
[Lotto 6/45] 로또 추첨 구현하기~ [5] | 전원주 | 2003.11.21 |
한꼬마의 제로보드 활용방법 (로그인 값 알아 보기) [3] | 한꼬마 | 2003.11.20 |
회원 포인트 랭킹(중복 -_-a) [4] | weky | 2003.11.15 |
제로보드회원의 포인트 랭킹 체크하기 [13] | 전원주 | 2003.11.15 |
지금은 시스템 점검중 만들기... [8] | zentoo.com | 2003.11.11 |