질문/조언질답게시판
Extra Form
PHP PHP 7.4
CMS Rhymix 1.x

top.PNG

 

vvv.PNG.jpg

 

 

 

CPU100프로..

 

 

 

vvvvv.PNG.jpg

 

 

 

vvvvvv.PNG.jpg

 

주로 첨부할때? 많이 튀는것같은데 24쓰레드에 메모리도 200기가 이상되는데 튜닝을 하면 해결이 되는문제일까요?

 

대부분 mariadb쪽에서 사용중으로 확인됩니다.

 

답변부탁드립니다.

 

 

 

  • profile

    1. 슈퍼캐시 모듈이 설치되어 있지 않다면 설치하고, 게시판 캐시 및 오프셋 쿼리 기능을 활성화시켜 주세요.

     

    2. 글 수가 많은 게시판은 "공지 제외" 옵션을 끄고, 검색엔진 방문시 및 오래된 글 열람시 페이지를 정확하게 계산하지 않는 옵션도 켜 주세요. 특히 검색엔진 관련해서는 반드시 필요한 옵션입니다.

  • profile ?

    답변 감사합니다 기진곰님
    말씀하신 1,2번 내용 모두 적용되어있었습니다. 워낙 조회가 많아서 그런것같습니다.
    메모리를 DB쪽으로 할당해서 쓰도록 설정할수있나요?

  • ? profile

    is_notice = 'N' 으로 검색하고 있는 것을 보면 "공지 제외" 옵션이 꺼져 있지 않은 것이 분명합니다. 저 조건이 들어가면 수십만 개의 글들 중 공지를 걸러내고 다시 정렬해야 하기 때문에 인덱스를 효율적으로 타지 못해서 CPU 점유율이 심하게 높아집니다.

    processlist에 자주 등장하는 module_srl 22073, 23752가 어느 게시판인지 찾아서 설정을 다시 점검해 보세요. 누군가가 수천 페이지 뒤쪽의 글을 크롤링하고 있는 것 같습니다. 구글봇일 수도 있고 쓸데없는 잡봇일 수도 있습니다. 어느 쪽이든지 위에서 말씀드린 옵션들을 제대로 설정하지 않으면 서버 사양이 아무리 높아도 버티기 힘듭니다. 요즘은 정상적인 검색로봇들도 거의 디도스 수준으로 긁어대곤 합니다.

    DB 메모리는 이미 충분히 많이 할당되어 있는 것 같습니다. 공지를 제외하고 검색하거나 크롤러에게 매번 수천 페이지 뒤쪽의 하단목록을 정확하게 제공하는 등, CPU를 평소보다 몇 배나 잡아먹는 비효율적인 쿼리를 계속 실행하는 한 메모리를 아무리 많이 줘도 도움이 되지 않습니다.

  • profile ?

    감사합니다. 확인해봤는데 모든게시판에는 꺼져있는걸로 확인했습니다.
    그런데 메인페이지에 공지사항을 띄어놔서 계속 불러와지는것같습니다.
    말씀하신게 원인이라면 메인페이지에 공지나 최신글들을 안나오게 해야할것같네요.. 감사합니다

  • ? profile

    스샷의 쿼리를 보면 공지 제외하고 수천페이지 뒤쪽의 목록을 25~30개씩 불러오고 있는데요. 메인화면 위젯이 수천페이지 뒤쪽의 목록을 불러오나요? 이상하네요...

     

    아무튼 is_notice = 'N' 이 조건이 나타나지 않을 때까지 계속 이것저것 해보시기 바랍니다. 타임라인 모듈이나 차단 기능 등 게시판 목록 추출하는 부분에 영향을 줄 수 있는 다른 자료가 있다면 그것도 확인하시고요.

     

    나중에 보시는 분들을 위해 참고용 스샷 남깁니다. 글이 많은 게시판이라면 아래와 같이 설정되어 있어야 합니다.

    test.png

  • profile ?
    추가적으로 질문드립니다.
    혹시 로봇 방문시 하단 목록을 정확하게 계산하지 않음 이걸 체크하면 구글 SEO에 노출이 떨어지거나 그런건 없을까요?
  • ? profile

    위의 스샷에도 설명되어 있듯이 하단목록은 검색 노출에 영향을 주지 않습니다. 구글은 본문 내용에 관심이 있으니까요. 하단목록에 정확한 페이지가 표시되지 않더라도 따라가서 다른 글을 방문하는 것은 마찬가지고요.

  • profile ?
    정말 감사합니다. 해당 목록설정 체크하고나서 CPU가 100에서 11퍼까지 떨어졌습니다.
    모든게시판에 게시글이 많아서 모든게시판에 적용했습니다.
    이런팁을 공짜로 알려주셔서 감사합니다. 늦은시간에도 정말 감사합니다.
  • ? profile

    아까 다 확인했다고 하셨는데 놓친 것이 있었던 모양이죠? ㅎㅎ

    네, 저 옵션 수정하면 DB 부하가 10분의 1 이하로 줄어드는 것이 맞습니다. 원래 목록 화면에서 한 번, 목록에서 링크된 글을 읽을 때마다 각각 한 번씩 총 20~30번 목록을 추출하는데, 로봇 한정으로 하단목록을 제외하도록 설정하면 목록 화면에서 한 번 추출하는 것으로 끝나니까요. 슈퍼캐시 + 공지 제외 옵션까지 잘 설정해 두면 100분의 1까지 줄어드는 경우도 있습니다. 덕분에 요즘 서버 튜닝 의뢰가 거의 안 들어오네요. ㅠㅠ

  • profile profile
    이런이런! 개발자님들께 쉽게 후원?할 수 있음 참 좋겠는디요......ㅎㅎㅎ 개발좀 해주세용 ㅎㅎ