안녕하세요 저는 Vultr의 2vCPU,16384.00 MB의 램을 사용 중이며 워드프레스(Ubuntu 20.04 x64)로 제작한 개인 매거진을 운영하고 있습니다.

페이지는 외부 유입이 가장 비중이 높은데, 다음 메인 화면에 뜨며 노출되는 것이다 보니 일 방문자가 1만~ 6만 명 정도 됩니다. 

계속해서 페이지 방문이 차 있는 것은 아니고 평상시에는 5분 사용자가 40명~50명, 노출이 잘 되고 나서는 5분 사용자 1,000명 정도 됩니다.

 

방문하신 분들은 평균 23초 정도 체류하며 사진 및 테마의 트래픽이 적어 생각보다 bandwidth 사용량도 적습니다.

처음에는 폭발적인 유입이 간헐적으로 있어 그때 CPU가 과부하 된다고 생각했는데, 한 달 정도 페이지를 쉬고 1달 이용자가 1천 명이 안될 때도 4시간에 3~4번씩 주기적으로 100%~200%를 찍더라고요.(새벽 시간에도 이러는 것이 정말..)

 

일단 '홈페이지 해킹 봇(?!)이 원인일까?' 라는 생각이 들어 wordefence를 다운받아 로그인 시도 ip를 차단하고 있습니다.. 배우기 위해 노력하고 있으나 현재는 견문이 낮아 왜 이런 부하가 오는지 도저히 모르겠어, 아래 사진 같은 부하가 정상인지 아닌지. 그리고 대처 방법이 무엇이 있을지 여쭙니다.  엑스타운 여러분들 항상 감사합니다 :) !

 

 [Vultr에 표시된 CPU사용량]

스크린샷 2022-11-10 오후 12.46.13.png

[애널리틱스 상의 유입 지표]

스크린샷 2022-11-10 오후 8.25.16.png

  • profile

    1. 문제의 시간대에 웹서버(아파치, nginx 등)의 access log에 특정 IP나 user-agent가 많이 찍히는지 살펴보세요. 구글봇 등의 크롤러는 애널리틱스에 나타나지도 않고 wordfence에 막히지도 않지만 상당히 큰 부하를 유발할 수 있습니다. 특히 저 이상한 부하가 정상 부하의 몇 배나 되는 시간대에는 복잡한 분석툴 쓸 필요 없이 그냥 로그를 스크롤하면서 쭉 보기만 해도 패턴이 눈에 띌 가능성이 높아요.

     

    2. 만약 특이한 방문자가 없는데 일정한 시간 간격으로 CPU 부하가 튄다면, 정기적으로 백업을 하거나 DB를 정리하는 워드프레스 플러그인이 문제일 수도 있습니다. 만약 이런 플러그인을 사용하신다면, 설정된 작동 시간(간격)과 저 현상이 일어나는 시간 사이에 관련이 있는지 살펴보세요. 부하가 튀는 시간 간격이 2시간-1시간-2시간-1시간으로 무척 일정한 패턴을 보이기 때문에 이것도 꽤 가능성이 높습니다.

     

    3. PHP-FPM의 슬로우 로그, MySQL(MariaDB)의 슬로우 로그 등이 켜져 있다면 어떤 기능이 특별히 많은 부하를 일으키는지 추적하기가 훨씬 쉬워집니다. 그러면 그 기능이 언제 왜 작동하는지 거꾸로 추적해볼 수 있겠지요.

  • profile ?
    항상 감사합니다 기진곰님 :)!

    쉽게 잘 풀어 써주셔서 무엇을 체크해 봐야할 지 바로 알았어요! 일단 2번에 해당되는 WP ROCKET 조정과 1번의 로그 확인을 해봐야겠네요 :) 감사합니다!
  • profile ?
    아, 추가로 하나만 더 여쭈어봐도 될까요?
    제 현재 상황에서 CPU 증설(2vCPU ->4vCPU로) 생각은 안해봐도 되는 거겠죠? :)
  • ? profile
    부하가 튀는 시간대는 제외하고, 평소에 CPU 점유율이 높을 때 75~100% 정도 되는데요. 2코어 중 1코어를 거의 풀가동하고 있는 셈입니다. 모자라지는 않지만, 그렇다고 넉넉하지도 않네요. 일반적인 웹서버에서 최상의 성능을 유지하려면 CPU 점유율을 절반 이하로 유지하는 것이 좋아요.
  • profile ?
    감사합니다 기진곰님 :)! 4vCPU로 업그레이드도 생각해봐야겠네요!
  • profile

    의도한것인지는 모르겠는데, 사이트에 광고 악성코드가 붙어있네요. 브라우저 쿠키삭제 또는 시크릿보드로 사이트 들어가보세요.