XE 검색시 기본적으로 부분적으로 클릭을 하여 지속적으로 검색하게 되어있습니다.

 

다만, 검색을 보다 편리하게 하기 위해 전체검색을 소스를 고쳐서 사용중입니다..

 

DB용량이 3GB가까이 되는데, 이게 아직까지는 크게 문제가 없는데요..

 

혹시라도 10명 20명이서 동시에 검색시 엄청난 부하를 유발할 수 있을까요..?

 

최근, 저녁시간대에 가끔씩 서버 먹통 현상이 생기는데 아무래도 검색기능이 의심되어서요!

 

  • profile
    검색하는 데 보통 몇 초씩 걸리나요?
  • profile ?

    2초~3초 사이 정도 소요되는 것 같습니다.

     

    약간 상이한데 5초이상 소요될때도 가끔있어요.

     

    ps. DB type은 innodb 입니다

  • ? profile
    검색할 때마다 서버 CPU 하나를 2~3초간 점유하는 거죠. 누가 이미 검색하고 있으면 더 느려지고요. 단순히 계산해서 분당 20~30회 (×CPU갯수) 이상 검색하면 위험할 것 같아요.

    비교하자면 보통 문서 하나 PK로 불러오는 쿼리 소요시간은 0.0001초 이하입니다.
  • profile ?
    -_-;; 엄청난 부하를 가져오는 샘이군요..

    글이나 자료를 검색해야하기 때문에 전체검색을 빼기도 힘들고 사용하자니, 서버에 엄청난 부하를 주고 딜레마네요 ㅠ
  • ? profile
    비공개 사이트가 아니라면 구글 검색이 좋아요. 구글 검색을 감쪽같이 연동하는 방법에 대해 예전에 웹지기님이 쓰신 글을 찾아보시면 도움이 됩니다.
  • profile ?
    파일 자료 검색 부분이 많은데 구글은 파일검색은 노출이 되지 않아서 사용하고 있지 못하고 있어요:)
  • ?
    혹시 몰라서 비회원은 document.model.php 에서

    switch($search_target)
    {
    case 'title' :
    case 'content' :
    if($search_keyword) $search_keyword = str_replace(' ','%',$search_keyword);
    $args->{"s_".$search_target} = $search_keyword;
    //추가
    if(!$logged_info->member_srl) {
    $use_division = true;
    }
    else
    {
    $use_division = false;
    }
    break;

    이런식으로 구분해줬는데, 효과가 있을까요..?
  • ?
    편법으로:) crontab을 이용해서 피크시간대에는 전체검색 불가,

    이외 시간대에는 false 로 사용하도록 처리해서 테스트해보겠습니다@.@