사이트 속도 관련 질문입니다.
사이트 속도가 너무 느려서 하나하나 타임체크를 해본결과
board.php 이부분에서 상당히 느려지더라구요
그래서 board.php 에 중간중간 타임체크를 해본결과
$is_seometa = 'view'; //SEO
$g5['title'] = strip_tags(conv_subject($write['wr_subject'], 255))." > ".((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']);
} else {
if ($member['mb_level'] < $board['bo_list_level']) {
if ($member['mb_id'])
alert(aslang('alert', 'is_bo_list1'), G5_URL); //목록을 볼 권한이 없습니다.
else
alert(aslang('alert', 'is_bo_list2'), G5_BBS_URL.'/login.php?'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.($qstr?'&':''))); //목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오. // 2023.06.19 링크 오류 수정
}
이부분부터 느려지는것을 확인하였습니다. 일단 제가 초보라서 이부분을 주석처리한다음에
작동해봤지만 게시글이 느린것은 똑같았고 일반 회원이라면 게시글에 아예 접근을 못하더라구요
이부분을 빠르게 하려면 어떻게 해야할까요?
대략 페이지를 볼 권한 문제로 보여지는데 이에 해결책을 못찾고 있습니다.
답변 1개 / 댓글 27개
인덱스 추가 설정을 한번 해보세요, 물론 하기전 브라우저 캐싱 해주시고요, 그래도 이상하다싶으면 , 인덱스 추가 설정 해주세요
답변에 대한 댓글 27개
문제가있다면 다음과 같이 추가 해주면됩니다.
ALTER TABLE g5_board ADD INDEX idx_bo_subject(bo_subject);
만약에 이래도 해결이 않된다면..
음...............
각계시판 마다 추구해 볼수 있습니다.
예를 들어g5_write_test 이런 게시판이 만들어 져있다면 다음과 같이 추가 해볼수 있습니다.
여기서 중요한점은 wr_datetime 입니다. 기존 데이타형식과 다를수가 있으므로 백업을 먼저 하시고 진행해 주세요
게시판 하나 테스트 해보시고.. 이게 맞다라고하면 남어지 게시판도 해주세요
ALTER TABLE `g5_write_test`
ADD INDEX `wr_id` (`wr_id`),
ADD INDEX `wr_num` (`wr_num`),
ADD INDEX `mb_id` (`mb_id`),
ADD INDEX `wr_datetime` (`wr_datetime`);
1 bo_table varchar(20) utf8_general_ci 아니오
2 gr_id varchar(255) utf8_general_ci 아니오
3 bo_subject varchar(255) utf8_general_ci 아니오
4 bo_mobile_subject varchar(255) utf8_general_ci 아니오
5 bo_device enum('both', 'pc', 'mobile') utf8_general_ci 아니오
6 bo_admin varchar(255) utf8_general_ci 아니오
7 bo_list_level tinyint(4) 아니오
8 bo_read_level tinyint(4) 아니오
9 bo_write_level tinyint(4) 아니오
10 bo_reply_level tinyint(4) 아니오
11 bo_comment_level tinyint(4) 아니오
12 bo_upload_level tinyint(4) 아니오
13 bo_download_level tinyint(4) 아니오
14 bo_html_level tinyint(4) 아니오
15 bo_link_level tinyint(4) 아니오
16 bo_count_delete tinyint(4) 아니오
17 bo_count_modify tinyint(4) 아니오
18 bo_read_point int(11) 아니오
19 bo_write_point int(11) 아니오
20 bo_comment_point int(11) 아니오
21 bo_download_point int(11) 아니오
22 bo_use_category tinyint(4) 아니오
23 bo_category_list text utf8_general_ci 아니오
24 bo_use_sideview tinyint(4) 아니오
25 bo_use_file_content tinyint(4) 아니오
26 bo_use_secret tinyint(4) 아니오
27 bo_use_dhtml_editor tinyint(4) 아니오
28 bo_use_rss_view tinyint(4) 아니오
29 bo_use_good tinyint(4) 아니오
30 bo_use_nogood tinyint(4) 아니오
31 bo_use_name tinyint(4) 아니오
32 bo_use_signature tinyint(4) 아니오
33 bo_use_ip_view tinyint(4) 아니오
34 bo_use_list_view tinyint(4) 아니오
35 bo_use_list_file tinyint(4) 아니오
36 bo_use_list_content tinyint(4) 아니오
37 bo_table_width int(11) 아니오
38 bo_subject_len int(11) 아니오
39 bo_mobile_subject_len int(11) 아니오
40 bo_page_rows int(11) 아니오
41 bo_mobile_page_rows int(11) 아니오
42 bo_new int(11) 아니오
43 bo_hot int(11) 아니오
44 bo_image_width int(11) 아니오
45 bo_skin varchar(255) utf8_general_ci 아니오
46 bo_mobile_skin varchar(255) utf8_general_ci 아니오
47 bo_include_head varchar(255) utf8_general_ci 아니오
48 bo_include_tail varchar(255) utf8_general_ci 아니오
49 bo_content_head text utf8_general_ci 아니오
50 bo_mobile_content_head text utf8_general_ci 아니오
51 bo_content_tail text utf8_general_ci 아니오
52 bo_mobile_content_tail text utf8_general_ci 아니오
53 bo_insert_content text utf8_general_ci 아니오
54 bo_gallery_cols int(11) 아니오
55 bo_gallery_width int(11) 아니오
56 bo_gallery_height int(11) 아니오
57 bo_mobile_gallery_width int(11) 아니오
58 bo_mobile_gallery_height int(11) 아니오
59 bo_upload_size int(11) 아니오
60 bo_reply_order tinyint(4) 아니오
61 bo_use_search tinyint(4) 아니오
62 bo_order int(11) 아니오
63 bo_count_write int(11) 아니오
64 bo_count_comment int(11) 아니오
65 bo_write_min int(11) 아니오
66 bo_write_max int(11) 아니오
67 bo_comment_min int(11) 아니오
68 bo_comment_max int(11) 아니오
69 bo_notice text utf8_general_ci 아니오
70 bo_upload_count tinyint(4) 아니오
71 bo_use_email tinyint(4) 아니오
72 bo_use_cert enum('', 'cert', 'adult', 'hp-cert', 'hp-adult') utf8_general_ci 아니오
73 bo_use_sns tinyint(4) 아니오
저부분에서 인덱스로 변경하고 싶은게 있다면 이름을 넣어주면 되는건가요?
ALTER TABLE `bo_list_level` 이런식으로..?
그리고 저희가 회원들이 포인트며 레벨이 모두 다 다르기 때문에 이부분도 많이 잡아 먹을듯해서
그런 부분 들도 인덱스로 하고 싶구요
그리고 종류에는 인덱스로 변한게 없는데 제가 이상한곳을 확인하고 있는건가요?
ALTER TABLE `g5_write_(나의게시판명)`
ADD INDEX `wr_id` (`wr_id`),
ADD INDEX `wr_num` (`wr_num`),
ADD INDEX `mb_id` (`mb_id`),
ADD INDEX `wr_datetime` (`wr_datetime`);
실행했을때 ok가 떠서 된건줄 알았는데
이게 나중에 다시 번역해보니 결과값이 없다고 리턴했다는 뜻이었더라구요...
ㅠㅠ
즉 인덱스가 적용되지 않았더라구요
phpmyadmin에서도 해봤지만 안된네요..
현재 찾고 있습니다!!
-- 테이블의 인덱스 `g5_write_xdf`
--
ALTER TABLE `g5_write_xdf`
ADD PRIMARY KEY (`wr_id`),
ADD KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`),
ADD KEY `wr_is_comment` (`wr_is_comment`,`wr_id`),
ADD KEY `wr_subject` (`wr_subject`),
ADD KEY `wr_subject_2` (`wr_subject`),
ADD KEY `wr_subject_3` (`wr_subject`),
ADD KEY `wr_subject_4` (`wr_subject`),
ADD KEY `wr_subject_5` (`wr_subject`),
ADD KEY `wr_subject_6` (`wr_subject`),
ADD KEY `wr_id` (`wr_id`),
ADD KEY `wr_num` (`wr_num`),
ADD KEY `mb_id` (`mb_id`),
ADD KEY `wr_datetime` (`wr_datetime`),
ADD KEY `wr_num_2` (`wr_num`),
ADD KEY `wr_reply` (`wr_reply`);
이런 부분이 있는데요 이게 적용이 된건가요?
그 위에 있는 부분
-- 테이블 구조 `g5_write_xdf`
--
CREATE TABLE IF NOT EXISTS `g5_write_xdf` (
`wr_subject` varchar(255) NOT NULL,
`wr_content` text NOT NULL,
여기에는 varchar(255) 이렇게 뜨는데요
그런데 흠............
엄청난 인덱스 키를 가져군요...놀랍넹됴 ;;=--;; 그렇게까지 ...모든 필드는 다 추가 한듯 한데요;; 문제가잇어보이는뎅;;;
ALTER TABLE `g5_write_test`
ADD PRIMARY KEY (`wr_id`),
ADD KEY `wr_seo_title` (`wr_seo_title`),
ADD KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`),
ADD KEY `wr_is_comment` (`wr_is_comment`,`wr_id`),
ADD KEY `wr_id` (`wr_id`),
ADD KEY `wr_num` (`wr_num`),
ADD KEY `mb_id` (`mb_id`),
ADD KEY `wr_datetime` (`wr_datetime`);
이정도만 되어도 불안한뎅;;; 흠..........ㅋ
디비쪽은 그렇게만 해서 속도 차이가 나온다면 거기서 멈추세요..더할게 없습니다.
네트웍을 점검하세요 서버쪽하구요
분명
인덱스는 데이터의 변경이 발생할 때 오버헤드를 유발할수가 있다고 했습니다.
따라서 자주 갱신되는 테이블의 경우 신중하게 고려해야 한다고 했구요.
즉
INSERT, UPDATE, DELETE에 대한 영향을 고려해야 합니다.
그리고 ..지금 당장 서버 확인해주세요..루트서르 하드공간이 얼마나 남아는지 확인해보세요
이전하고 얼마나 차이나게 쌓여는지 확인 하셔야합니다. 물론 11테라라....싱경안써도 되겟지만.....흠 암튼 부럽넹;;;ㅎ
참고로 전 500기가도 않된 서버가고 있답니다. ---;;;
답변을 작성하려면 로그인이 필요합니다.
그누보드에 게시판 인덱스 설정을 살펴보고 해보면 에러가 나거나 아무런 반응이 없고
현재 구글링으로 찾아보고 있긴한데 그누보드에 딱 맞는 해결책은 안나오고 있는데요..
혹시 힌트를 좀 얻을 수 있을까요?
어떻게 검색을 한다던지 그누보드에서 무엇을 검색하면 되는지요