[ mysql ] 튜닝 그누보드 - db접속횟수 줄이기 > gnuboard

본문 바로가기
사이트 내 전체검색

gnuboard

팁자료 [ mysql ] 튜닝 그누보드 - db접속횟수 줄이기

페이지 정보

작성자 웹지기 댓글 0건 조회 3,000회 작성일 18-09-28 18:20

본문

접속자가 증가하다 보면 튜닝을 하게되는데.. 

튜닝을 하는데 있어 db컨넥을 줄이고자 노력합니다. 

기본 설정 (g4_config), 게시판 설정 (g4_board), 그룹 설정 (g4_group) 을 파일로 만들어 컨넥을 줄일수도 있습니다. 

동접자는 10분간 현재접속자 기준 최대 1500명, 일일 방문자 3만명 남짓한 사이트에서 테스트 해본결과 서버가 해외에 있어 국내사정보다 못하지만, db접속오류가 현저히 낮아졌으며, 사이트 속도도 나름 쾌적해 졌습니다. 

먼저, 첨부파일을 다운받아 /adm/upgrade2.php 경로로 업로드후 실행하신 후 아래 방법대로 소스수정을 해주세요. 


기본설정 

g4_config adm/config_form_update.php 121줄 부근 

변경전

[code]

//sql_query(" OPTIMIZE TABLE `$g4[config_table]` ");

goto_url("./config_form.php", false); 

[/code]


변경후

[code]

//sql_query(" OPTIMIZE TABLE `$g4[config_table]` ");

$file = "$g4[path]/data/config/default.php";

$f = fopen($file, "w");

$row = sql_fetch(" select * from $g4[config_table] ");

fwrite($f, "<!--?\n");

foreach($row as $key =--> $value) {    

$value = str_replace("\"", "\\\"", $value);    

fwrite($f, "\$config['{$key}'] = \"{$value}\";\n");

}

fwrite($f, "?>");

fclose($f);

@chmod($file, 0606);

goto_url("./config_form.php", false); 

[/code]


common.php 294줄 부근 변경전

[code]

$config = sql_fetch(" select * from $g4[config_table] "); 

[/code]


변경후

[code]

include_once("$g4[path]/data/config/default.php");

if(!$config['cf_admin'])    

$config = sql_fetch(" select * from $g4[config_table] "); 

[/code]


그룹설정

[code]

g4_group adm/boardgroup_form_update.php 64줄부근 

변경전

else    

alert("제대로 된 값이 넘어오지 않았습니다.");


goto_url("./boardgroup_form.php?w=u&gr_id=$gr_id&$qstr"); 

[/code]


변경후

[code]

else    

alert("제대로 된 값이 넘어오지 않았습니다.");


$file = "$g4[path]/data/config/group_{$_POST[gr_id]}.php";

$f = fopen($file, "w");

$row = sql_fetch(" select * from $g4[group_table] where gr_id = '$_POST[gr_id]' ");

fwrite($f, "<!--?\n");

foreach($row as $key =--> $value) {    

$value = str_replace("\"", "\\\"", $value);   

fwrite($f, "\$group['{$key}'] = \"{$value}\";\n");

}

fwrite($f, "?>");

fclose($f);

@chmod($file, 0606);

goto_url("./boardgroup_form.php?w=u&gr_id=$gr_id&$qstr"); 

[/code]


adm/boardgroup_list_update.php 23줄 부근 변경전

[code]

sql_query($sql);

[/code]


변경후 

[code]

sql_query($sql);    

$file = "$g4[path]/data/config/group_{$_POST[gr_id][$k]}.php";    

$f = fopen($file, "w");    

$row = sql_fetch(" select * from $g4[group_table] where gr_id = '{$_POST[gr_id][$k]}' ");    

fwrite($f, "<!--?\n");    

foreach($row as $key =--> $value) {   

$value = str_replace("\"", "\\\"", $value);   

fwrite($f, "\$group['{$key}'] = \"{$value}\";\n");    

}    

fwrite($f, "?>");    

fclose($f);    

@chmod($file, 0606);

[/code]


common.php 462줄 부근 변경전

[code]

if (isset($gr_id))    

$group = sql_fetch(" select * from {$g4['group_table']} where gr_id = '$gr_id' "); 

[/code]


변경후

[code]

if (isset($gr_id)) {    

include_once("$g4[path]/data/config/group_{$gr_id}.php");    

if(!$group['gr_id'])   

$group = sql_fetch(" select * from {$g4['group_table']} where gr_id = '$gr_id' ");

[/code]


게시판설정

g4_board adm/board_form_update.php 309줄 부근 변경전

[code]

if ($s) {   

    $sql = " update $g4[board_table]

                set bo_table = bo_table 

                    {$s} 

                where gr_id = '$gr_id' ";   

    sql_query($sql);

[/code]


변경후

[code]

if ($s) {

$sql = " update $g4[board_table] 

set bo_table = bo_table 

{$s} 

where gr_id = '$gr_id' ";    

sql_query($sql);    

$que = sql_query(" select * from $g4[board_table] where gr_id = '$gr_id' ");    

for($i=0; $row=sql_fetch_array($que); $i++) {  

$file = "$g4[path]/data/config/board_{$row[bo_table]}.php";  

$f = fopen($file, "w"); 

fwrite($f, "<!--?\n"); 

foreach($row as $key =--> $value) {

$value = str_replace("\"", "\\\"", $value);   

fwrite($f, "\$board['{$key}'] = \"{$value}\";\n");

}  

fwrite($f, "?>");  

fclose($f);    

@chmod($file, 0606);   

}   

} else { 

$file = "$g4[path]/data/config/board_{$bo_table}.php"; 

$f = fopen($file, "w");

$row = sql_fetch(" select * from $g4[board_table] where bo_table = '$bo_table' ");

fwrite($f, "<!--?\n");   

foreach($row as $key =--> $value) {  

$value = str_replace("\"", "\\\"", $value);    

fwrite($f, "\$board['{$key}'] = \"{$value}\";\n"); 

}    

fwrite($f, "?>");   

fclose($f);  

@chmod($file, 0606);   

[/code]


adm/board_list_update.php 39줄 부근 변경전

[code]

sql_query($sql);

[/code]


변경후

[code]

sql_query($sql);    

$file = "$g4[path]/data/config/board_{$_POST['board_table'][$k]}.php";

$f = fopen($file, "w");

$row = sql_fetch(" select * from $g4[board_table] where bo_table = '{$_POST['board_table'][$k]}' ");  

fwrite($f, "<!--?\n");    

foreach($row as $key =--> $value) { 

$value = str_replace("\"", "\\\"", $value);  

fwrite($f, "\$board['{$key}'] = \"{$value}\";\n");

}    fwrite($f, "?>"); 

fclose($f); 

@chmod($file, 0606);    

[/code]


bbs/write_update.php 618줄 부근 변경전

[code]

@include_once("$board_skin_path/write_update.tail.skin.php");   

if ($g4[https_url]) 

[/code]


변경후

[code]

@include_once("$board_skin_path/write_update.tail.skin.php"); 

if($is_admin) { 

$file = "$g4[path]/data/config/board_{$bo_table}.php";    

$f = fopen($file, "w");   

$row = sql_fetch(" select * from $g4[board_table] where bo_table = '$bo_table' ");   

fwrite($f, "<!--?\n");    

foreach($row as $key =--> $value) {  

$value = str_replace("\"", "\\\"", $value);  

fwrite($f, "\$board['{$key}'] = \"{$value}\";\n"); 

}   

fwrite($f, "?>");    

fclose($f);

@chmod($file, 0606);  

}

[/code]


if ($g4[https_url]) common.php 452줄 부근 변경전

[code]

$board = sql_fetch(" select * from {$g4['board_table']} where bo_table = '$bo_table' ");

[/code]


변경후

[code]

include_once("$g4[path]/data/config/board_{$bo_table}.php");    

if(!$board['bo_table']) 

$board = sql_fetch(" select * from {$g4['board_table']} where bo_table = '$bo_table' ");

[/code]

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 54건 3 페이지
  • 열람중 팁자료[ mysql ] 튜닝 그누보드 - db접속횟수 줄이기
  • 접속자가 증가하다 보면 튜닝을 하게되는데..튜닝을 하는데 있어 db컨넥을 줄이고자 노력합니다.기본 설정 (g4_config), 게시판 설정 (g4_board), 그룹 설정 (g4_group) 을 파일로 만들어 컨넥을 줄일수도 있습니다.동접자는 10분간 현재접속자 기준 최대 1500명, 일일 방문자 3만명 남짓한 사이트에서 테스트 해본결과 서버가 해외에 있어 국내사정보다 못하지만, db접속오류가 현저히 낮아졌으며, 사이트 속도도 나름 쾌적해 졌습니다.먼저, 첨부파일을 다운받아 /adm/upgrade...
  • 웹지기 09-28 3001 0 0 댓글 0
  • 21 플러그인[ g4 ] jysoft lotto
  • jysoft lotto파일이 온전하게 보존이 되지 않아서 조금 깨진듯 하다.어디가 깨졌는지는 아직 확인 안해봄
  • 웹지기 09-28 1 0 0 댓글 0
+1
  • 16 팁자료[ php ] 그누보드 게시판 자동 글쓰기 소스 예제
  • php 그누보드 게시판 자동 글쓰기 소스 예제사람이 직접 글을 작성하고 "글쓰기" 버튼을 누르지 않고, 프로그램으로 글을 올려야 하는 경우 사용[code]&lt;?// m3post 함수 ver 1.00 by 말러83 (2009-12-21)// $newpost[bo_table], $newpost[wr_subject], $newpost[wr_content], $newpost[mb_id] 값만 지정하고,// m3post($newpost); 라고 실행시키면 글이 해당 게시판에 ...
  • 웹지기 09-28 3885 0 0 댓글 0
  • 15 팁자료[ editor ] 네이버 스마트 에디트 SmartEditor2.0 Basic (2.2.1) 설치
  • http://dev.naver.com/projects/smarteditor/download 링크에서 SmartEditor2.0 Basic (2.2.1)버젼을 다운로드root 폴더에 smart_editor를 넣을 디렉토리를 생성한다 에디터를 업로드 하고 설정을 시작해볼까요?게시판 skin 폴더에 write.skin.php에서 현재 사용중인 모든 에디터를 제거한다.혹시나 실수 할 수 도 있으니 기존 파일을 다른이름으로 바꾸고 생성해서 사용하는게 좋겠지요?일단 상단부분에[code]&lt;?//...
  • 웹지기 09-27 3994 0 0 댓글 0
  • 14 플러그인syntaxhighlighter 테마 변경
  • https://funyphp.com/bbs/board.php?bo_table=gnuboard&amp;wr_id=18 이 페이지에서 view.skin.php에서 [code] add_stylesheet('&lt;link rel="stylesheet" href="'.G5_SYN_URL.'/style/shThemeDefault.css"&gt;', 0); [/code] 아래처럼 수정을 해주면 테마가 변경이 된다. [code] add...
  • 웹지기 09-23 4209 0 0 댓글 0
  • 13 팁자료게시글 작성시 메일이 보내지지 않을 때 확인사항
  • 비회원일 때 글쓰는 사람이 메일을 적지 않으면 메일이 발송이 되지 않음. 비회원의 경우 메일이 없으므로 발송이 되지 않음. 회원의 경우도 메일이 없으면 발송이 되지 않음. 이를 대용으로 글쓴이의 메일이 없을 경우 관리자의 메일을 대신 불러온다. /lib/mailer.lib.php mailer(); //수정 [code] $fmail = $fmail?$fmail:$config['cf_admin_email']; 또는 if(!$fmail) $fmail = $config['cf_admin_...
  • 웹지기 09-21 3807 0 0 댓글 0
  • 11 플러그인syntaxhighlighter 3.0.83 적용하기
  • 파일을 다운받고 앞축을 푼다. 필요한 두개의 폴더만 업로드 해도 되고 모두 업로드 해도 상관없다. 쉽게 구분하기 위해 /plugin/syntaxhighligher_3.0.83/아래에 다운 받은 파일 업로드 /extend/syntaxhighlighter.extend.php 만들기 [code] &lt;?php if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 define('_SYNTAXHIGHLIGHTER_USE_', true); ...
  • 웹지기 09-19 4414 0 0 댓글 0
  • 10 팁자료[ g4 ] 글쓰기시 외부 링크 이미지 저장하기
  • ※ [배추베이직스킨사용자] write_update.head.skin.php 파일을다운로드 받으세요.혹시 필요하신 분 계시면 도움이 될까해서 올립니다.글쓰기 할 때 외부링크 이미지를 모두 서버에 저장한 후 불러오는 소스입니다.basic스킨을 기준으로 제작되었으며 EUC-KR버전입니다.예를 들어&lt;img src=http://naver.com/logo.gif&gt;이라고 입력하고 글쓰기 버튼을 클릭하면logo.gif를 서버에 저장한 후 이미지 주소를아래와 같이 바꿔서 불러옵니다....
  • 웹지기 09-19 4099 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
14,962
어제
24,465
최대
43,745
전체
10,670,292

그누보드5
Copyright © funyphp.com. All rights reserved.