답변 6개
다른 컴으로도 접속해 해당 텀 문제인지 서버 문제인지 체크해 보세요.
서버 문제이면 주소 공개 후 도움을 구하셔야 체크가 가능할 듯 합니다.
답변에 대한 댓글 5개
그게 제일 오래 걸리네요.
ps.
아래 사이트에서 이미지 용량도 줄여 올려보시구요.
https://tinypng.com/
서버 사양이 그리 안 좋을 땐, 메인 이미지 노출은 최소화하는게 좋아요.
제 서버도 구려서, 이미지는 로고 빼고 사용 않습니다. ㅋ
그리고 index haed sub tail 전부 컨트롤 f로 favicon 을 찾아보는데 favicon은 하나도 찾을수 없었습니다. 로그된 페이지에서도 response로 favicon 검색해도 나오지가않습니다.
아마도 파비콘 관련 코드가 상단에 위치하는데,
없는 걸 찾느라,,,,오래 걸리는 듯 합니다.
LATEST.LIB.PHP를 제거하면 렉이사라집니다.
그래서
include_once(G5_LIB_PATH.'/latest.lib.php');
여기로 들어가서 컨트롤f로 favi를 쳐보았지만 나오지않습니다. 최신글에 파비콘이 있을수가있나요?
댓글을 작성하려면 로그인이 필요합니다.
메인에서 삭제한 함수를 사용하고 계신가요?
해당함수는 모든 게시판의 최신글을 출력하는함수인데
현재 메인에서 불필요한 기능인거같네요
답변에 대한 댓글 2개
function html_purifier($html)
{
$f = file(G5_PLUGIN_PATH.'/htmlpurifier/safeiframe.txt');
$domains = array();
foreach($f as $domain){
// 첫행이 # 이면 주석 처리
if (!preg_match("/^#/", $domain)) {
$domain = trim($domain);
if ($domain)
array_push($domains, $domain);
}
}
// 내 도메인도 추가
array_push($domains, $_SERVER['HTTP_HOST'].'/');
$safeiframe = implode('|', $domains);
include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');
include_once(G5_PLUGIN_PATH.'/htmlpurifier/extend.video.php');
$config = HTMLPurifier_Config::createDefault();
// data/cache 디렉토리에 CSS, HTML, URI 디렉토리 등을 만든다.
$config->set('Cache.SerializerPath', G5_DATA_PATH.'/cache');
$config->set('HTML.SafeEmbed', false);
$config->set('HTML.SafeObject', false);
$config->set('Output.FlashCompat', false);
$config->set('HTML.SafeIframe', true);
if( (function_exists('check_html_link_nofollow') && check_html_link_nofollow('html_purifier')) ){
$config->set('HTML.Nofollow', true); // rel=nofollow 으로 스팸유입을 줄임
}
$config->set('URI.SafeIframeRegexp','%^(https?:)?//('.$safeiframe.')%');
$config->set('Attr.AllowedFrameTargets', array('_blank'));
//유튜브, 비메오 전체화면 가능하게 하기
$config->set('Filter.Custom', array(new HTMLPurifier_Filter_Iframevideo()));
$purifier = new HTMLPurifier($config);
return $purifier->purify($html);
}
여기서
$purifier = new HTMLPurifier($config);
를 제거하면 문제가 되지않습니다
근데 HTMLPurifier를 검색하면 아무것도 나오지않습니다 이것은 무엇인가요 ?
자체적으로 리로드함수라기에는 P가 대문자로 되어있습니다.
댓글을 작성하려면 로그인이 필요합니다.
이미지나 js, css 등의 리소스 파일이 아닌 자체 페이지가 오래 걸린다는 것은,
최종 HTML 출력 전의 PHP-DB 처리단의 시간이 많이 걸린다는 것을 의미합니다.
해당 홈페이지의 게시판이 없는 페이지는 (회사소개 페이지) 로딩속도가 빠른 것으로 보아,
DB 쿼리 시간이 오래 걸리는 것으로 추측됩니다.
메인페이지에서 <제품소개> 슬라이드, 공지사항 최신글등을 빼고 테스트해보면서 문제지점을 찾아나갈 수 있습니다. 가령 <제품소개> 슬라이드 부분이 문제인 경우 해당 SQL문을 개선하거나 관련 DB 처리를 검토해 볼 수 있습니다.
<제품소개> 를 여러 게시판 테이블에서 union all 등의 쿼리로 불러온다면.. 과부하가 생길 수 있습니다.
where 조건에 날짜 조건(가령 최근 5일 이내) 등을 추가하면 개선될 가능성이 있습니다.
답변에 대한 댓글 2개
function latest_all3($skin_dir="", $bo_table, $rows=10, $subject_len=40, $contents_len=200, $category="", $orderby="", $gall_order="") {
global $config;
global $g5;
$list = array();
$limitrows = $rows;
$sqlgroup = " select bo_table, bo_subject from $g5[board_table] where bo_table LIKE '".$bo_table."%' ".$gall_order." ";
$rsgroup = sql_query($sqlgroup);
if (!$skin_dir) $skin_dir = 'basic';
if(G5_IS_MOBILE) {
$latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
$latest_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
} else {
$latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
$latest_skin_url = G5_SKIN_URL.'/latest/'.$skin_dir;
}
for ($j=0, $k=0; $rowgroup=sql_fetch_array($rsgroup); $j++) {
$bo_table = $rowgroup[bo_table];
// 테이블 이름구함
$sql = " select * from {$g5[board_table]} where bo_table = '$bo_table' ";
$board = sql_fetch($sql);
$tmp_write_table = $g5[write_prefix] . $bo_table; // 게시판 테이블 실제이름
// 옵션에 따라 정렬
$sql = "select * from $tmp_write_table where wr_is_comment = 0 ";
/*
$sql .= (!$category) ? "" : " and ca_name = '$category' ";
$sql .= (!$orderby) ? " order by wr_id desc " : " order by $orderby desc, wr_id desc ";
*/
$sql .= " order by ".$orderby;
$sql .= " limit $limitrows";
//echo $sql;
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++, $k++) {
if(!$orderby) $op_list[$k] = $row[wr_datetime];
else {
$op_list[$k] = is_string($row[$orderby]) ? sprintf("%-256s", $row[$orderby]) : sprintf("%016d", $row[$orderby]);
$op_list[$k] .= $row[wr_datetime];
$op_list[$k] .= $row[wr_name];
$op_list[$k] .= $row[wr_10];
}
$list[$k] = get_list($row, $board, $latest_skin_path, $subject_len, $wr_name, $wr_10);
$list[$k][bo_table] = $board[bo_table];
$list[$k][bo_subject] = $board[bo_subject];
$list[$k][wr_name] = $board[wr_name];
$list[$k][wr_10] = $board[wr_10];
$list[$k][bo_wr_subject] = cut_str($board[bo_subject] . $list[$k][wr_subject], $subject_len, $wr_name, $wr_10);
}
}
if($k>0) array_multisort($op_list, SORT_DESC, shuffle($list));
if($k>$rows) array_splice($list, $rows);
ob_start();
include $latest_skin_path.'/latest.skin.php';
$content = ob_get_contents();
ob_end_clean();
return $content;
}
이부분을 제거하면 렉이안걸립니다.
이부분에서 문제될만한게 있을까요 ?
=> 뷰 사용을 검토해 볼 수 있습니다.
* $sql .= " order by ".$orderby;
전에
$orderby = "wr_id desc";
를 추가해주는 것이 좋아 보입니다.
* /lib/latest.lib.php latest() 함수를 참고하여,
캐시를 사용하는 방식으로 적용하는 것이 좋을 것 같습니다.
(캐시 갱신 주기를 1시간 적용인 경우, 1시간에 1번만 sql 실행하고, 그 외는 저장된 캐시파일 내용 그대로 출력)
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
include_once(G5_LIB_PATH.'/latest.lib.php'); 이걸 지우면 느려지지 않는데 여기엔 파비콘이 존재하지않습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인



주소는 http://taesungjm.edenstore.co.kr/ 입니다.