두가지 질문 좀..

1. 첫번째 질문

- 제 홈피에지에서는 유난히 게시판의 확장변수가 많이 쓰이고, 게시판 본문보다도 더 많이 쓰여지고 있는데..

이게 DB로 저장이 되어 많은 방문객들에 의해 과부하를 일으킬 수 있나요...

과부하가 심하다보니 갖은 문제점들이 다 궁금해져서 질문을.. ㅠ

 

 

2. 두번째 질문 

+ 어드민 페이지에서 보이는.. 페이지뷰 있잖아요.. 흑.

이거 1초당 10 이상 올라가는데.. 비정상 맞죠. 제 홈페이지에 자동으로 들어오는 봇들인것 같기도 하고..

 

이게 왜 이러냐 하면,

트래픽 유발이 워낙 심해서 서버 과부하까지 일으켜요!

그래서 잠시 제 IP를 제외한 모든 IP를 차단시켜놓고보면, 페이지뷰가 전혀 올라가지 않는데..

이 상태에서 잠시 3초라도 차단해제 시키고보면, 또 1초당 10 뷰 이상이 올라가더라구요.

이게 순수하게 사람이 그 3초동안.. 그 찰나의 순간 수십건을 뷰를 발생시킨다고 보진 않거든요.

그래서 저번에 인터넷 진흥원에서 유발할수 있다고 하길래, 전화걸어서 더이상 자동검색수집 하지 말아달라고 해서 해제된 상태인데도 이 모양이니... 답답합니다.

 

현재, 외부링크 차단으로 .htaccess 파일에,

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|bmp|zip|mml|alz|jar|txt|hwp|js|html|HTML|mp3|wma|mid|php|xml|css|md)$ - [NC,F,L]
 

이런식으로 나열해둔 상태이기도 한데..

이런 이유가 또 있을까요?

 

몇몇번.. 5초 이하의 그 찰나의 순간에 서버를 오픈해보니, 뷰가 계속 올라가는걸 보아 순수 방문객으로 인한 트래픽유발은 아닌거 같고, 이미지며 파일이며 전부 외부링크도 금지시켜놓았고, 홈페이지 디자인도 이미지를 싹 없애보았고...

평균 접속 1000명 인원에, 뷰는 40만건에 육박...

 

이 서버 과부하 사건이 급작스레 하루아침만에 1만뷰에서 20만, 40만뷰로 급증했다는게, 가장 이상한 점.

이슈가 있을만한 홈피가 아니라서.. 그래봐야 이미지 악보도 아니고, 텍스트로 도레미파솔로 쓰여진 악보사이트인데..

방문객이 항상 일정해서 사람들이 많이왔다면 통계에 잡혔을터인데..

 

02.png

사용중인 애드온.

- 작성 댓글 보기 메뉴 추가. (CMD)

- 베스트 댓글 (CONORY)

- 기본 카운터 (NAVER)

- 댓글돌이 (주파르탄)

- 게시물/댓글 최소 글자수 제한 애드온 (Dreamxe)

- 문서/댓글 모바일 작성 확인 (showjean)

- 커뮤니케이션 (NAVER) 

- 회원 확장 정보 출력 (NAVER)

- 대표아이콘 출력 애드온 (러키군)

- 이용약관/개인정보취급방침 애드온 (윈컴이, sol)

- 경험치 레벨 아이콘 표시 애드온 (CONORY)

- 포인트 확장변수 애드온 (CONORY)

- 포인트 팡팡! (phiDel)

- 삭제게시물 휴지통으로 (민채, sejin940)

- 게시글 추천인 표시 애드온(CONORY)

- 댓글 수신여부 표시 애드온 (CONORY)

- 스패머킬러 애드온 (Dreamxe)

- Webfont (sketchbook)

 

 

....딱히 문제될만한게 없어 보이는데..

모듈도 안쓰는 모듈은 반드시 싹 지워야 작동을 안하는거려나..

DB쪽은 뭔가 170개가 있길래, 뭘 지워야할지 몰라서 쓸데없다 생각되는건 다 지운 상태......

  • ?
    흠.....DB쪽은 모르겠고요.. 과부하 = 느리다 라는 의미시라면 아래 애드온들을 동시에 사용하신다면 꽤 영향을 주겠는걸요?

    사용중인 애드온.
    - 작성 댓글 보기 메뉴 추가. (CMD)
    - 베스트 댓글 (CONORY)
    - 기본 카운터 (NAVER)
    - 댓글돌이 (주파르탄)
    - 게시물/댓글 최소 글자수 제한 애드온 (Dreamxe)
    - 문서/댓글 모바일 작성 확인 (showjean)
    - 커뮤니케이션 (NAVER)
    - 회원 확장 정보 출력 (NAVER)
    - 대표아이콘 출력 애드온 (러키군)
    - 이용약관/개인정보취급방침 애드온 (윈컴이, sol)
    - 경험치 레벨 아이콘 표시 애드온 (CONORY)
    - 포인트 확장변수 애드온 (CONORY)
    - 포인트 팡팡! (phiDel)
    - 삭제게시물 휴지통으로 (민채, sejin940)
    - 게시글 추천인 표시 애드온(CONORY)
    - 댓글 수신여부 표시 애드온 (CONORY)
    - 스패머킬러 애드온 (Dreamxe)
    - Webfont (sketchbook)
  • ? profile
    10개이하로 줄이고 싶어도 줄일것이 마땅치 않네요.. 사용할때만 켰다가 나중에 다시 꺼두기 애매한 애드온들이라..
    그러고보니 갑자기 궁금해지는.. 다른 사용자분들은 애드온 몇개나 사용중이고 계시려나..
  • profile
    우선 카운터 애드온이 부하가 심한 편입니다. 방문자 통계는 https://www.google.com/intl/ko/analytics/ 이걸 사용하면 됩니다. 부하도 없고, 기본 카운터보다 훨씬 정확한 편입니다.

    페이지뷰 급증은 스팸봇으로 의심됩니다. 이건 따로 방법이 없습니다. ip차단 밖에는...

    일단, https://www.conory.com/use_forum/32010 이 애드온을 사용해보세요.
  • profile profile

    애드온을 켜보고, 서버를 20초정도 열어보니, 1초당 10뷰에서 4뷰정도로 떨어졌어요! 신세계! ㅠ 역시 스팸봇이 활기치고 있었군요..
    하지만 아직도 스팸이 넘치는거 같아 아직 갈길이 머네요.. OTZ

    로그 확인하면 굉장히 다양한 부분에서, 백개 천개로는 어림없을 ip들이 무작위로 여기저기 보는거 같은데..
    일반 사용자인지 봇인지 구분도 못하겠고.. 딱히 뾰족한 방법이 없을까요..

  • profile profile
    클라우드 플레어를 사용해보심이... 디도스 방어 기능이 있습니다. 그렇다면 스팸봇도 간단히 퇴치할 수 있을 것입니다.
  • ?
    서로 다른 웹client에서 날아오는 요청은 많더라도 시간차가 있어서 DB처리시 cpu 부담이 적지만 내부적으로 지우고쓰고수정을 한꺼번에 수행하면 cpu 사용율이 100프로 금방 도달합니다. 예로 리퍼러 통계에서 자동삭제 설정으로 그기간에 도달하면 기록과 동시에 지움이 발생합니다. 처음 제작시 삭제 명령을 하루치를 일괄 삭제해버리게 했다면 부담이 마니 줄었을텐데... ㅎ
  • ? profile

    서버의 메모리도 꽉 채우고, cpu도 꽉 채워버려요...
    cpu를 많이 차지하는 프로세서들이 많이 보이는 현상도 있어서.. 당최 사용자 입장에선 무슨 이유인지 전혀 모르겠다는..

    호스팅사에서 top 명령화면을 보여주셔서 봤더니...
    top 로그를 보면, httpd 가 골고루 cpu를 33%~1% 이상.. 먹고 갑니다, 옥타코어 (8코어) cpu 이므로 이들이 분할되서 차지하고 있는 것인데요.
    다른 수많은 서버들을 봤지만, 특정한 문제가 있는 프로세서가 아니고는 cpu 가 저렇게 먹고 계속 유지되지는 않습니다.
    생겼다가도 처리 후 사라져야 하는데 계속 유지가 된다는.. 그러다 접속자가 더 몰리면,
    아예 처리가 안되니 이제는 메모리까지 다 써버리다가 스왑 메모리까지 다 쓰면 서버가 멍.. 하게 죽지도 않고 유지되는 코마상태로 빠지고 있습니다.

    무슨 상황인지 까마득합니다..

     

    이 아래처럼도 설명해주시는데.. 도통.. 정말 골이 짜개집니다.. 뭔소린지 ㅠ

    문제는 top 명령을 내려보면, 아래 화면 같습니다.

    top - 19:42:00 up  1:46,  2 users,  load average: 5.15, 5.37, 4.75
    Tasks: 175 total,   7 running, 168 sleeping,   0 stopped,   0 zombie
    Cpu(s): 52.7%us,  4.8%sy,  0.0%ni, 41.9%id,  0.1%wa,  0.1%hi,  0.4%si,  0.0%st
    Mem:   4148968k total,  3785904k used,   363064k free,    15308k buffers
    Swap:  4192924k total,      108k used,  4192816k free,  2986024k cached

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                
    3293 nobody    15   0  188m  27m 4548 S 33.9  0.7   3:04.73 libhttpd.ep                                                            
    8174 nobody    15   0  189m  28m 4248 S 33.9  0.7   1:34.57 libhttpd.ep                                                            
    3288 nobody    15   0  189m  28m 4412 S 33.6  0.7   3:06.44 libhttpd.ep                                                            
    7758 nobody    16   0  187m  25m 4392 R 31.2  0.6   1:47.62 libhttpd.ep                                                            
    8173 nobody    15   0  189m  28m 4276 S 29.9  0.7   1:39.35 libhttpd.ep                                                            
    8175 nobody    16   0  189m  27m 4312 R 25.9  0.7   1:37.49 libhttpd.ep                                                            
    9706 nobody    16   0  189m  28m 4184 R 25.9  0.7   0:13.40 libhttpd.ep                                                            
    5363 nobody    15   0  188m  26m 4540 R 22.9  0.7   2:40.69 libhttpd.ep                                                            
    3285 nobody    15   0  186m  25m 4536 S 22.6  0.6   3:05.74 libhttpd.ep                                                            
    9753 nobody    15   0  189m  27m 4164 S 22.6  0.7   0:04.78 libhttpd.ep                                                            
    7829 nobody    15   0  180m  19m 4360 S 21.6  0.5   1:43.02 libhttpd.ep                                                            
    9784 nobody    16   0  189m  27m 4056 S 20.9  0.7   0:00.63 libhttpd.ep                                                            
    7825 nobody    15   0  185m  24m 4388 S 20.6  0.6   1:47.61 libhttpd.ep                                                            
    3299 nobody    15   0  189m  27m 4284 S 13.3  0.7   3:05.65 libhttpd.ep                                                            
    8036 nobody    15   0  185m  24m 4404 S 13.0  0.6   1:36.67 libhttpd.ep                                                            
    3287 nobody    15   0  189m  27m 4408 S 12.0  0.7   3:00.89 libhttpd.ep                                                            
    3289 nobody    15   0  180m  19m 4516 S 12.0  0.5   3:08.26 libhttpd.ep                                                            
    8176 nobody    15   0  192m  30m 4372 S 11.6  0.8   1:38.24 libhttpd.ep                                                            
    9710 nobody    15   0  189m  28m 4216 S 11.0  0.7   0:11.69 libhttpd.ep                                                            
    8177 nobody    15   0  189m  28m 4952 S 10.6  0.7   1:36.75 libhttpd.ep  

    상위 일부입니다.

  • profile profile
    디비 쿼리가 많다면서 top 상위에 mysql이 하나도 안 보이는 건 이상하네요. 디비서버는 따로인가요?

    씨피유에 비해 메모리가 부족합니다. 보통 코어수 x 1~2GB 정도로 맞추는데 님 서버는 코어수 x 0.5GB밖에 안 되어서...

    아파치 튜닝을 받아보시거나 nginx로 갈아타시면 좋습니다.
  • profile
    가격이 문제라면 조금 구형을 쓰더라도 제온 cpu 쓰시기를 ...
    8코어 cpu라면 amd fx 일 것 같은데,
    8코어지만 단일 코어성능은 떨어집니다. 그리고 데스크탑용 cpu입니다.
  • ?
    웹서버 php mysql 중에 mysql 이 맨 나중에 가져오기 때문에 가장 느리죠. 특히나 웹서버는 멀티 프로세싱이 된다는데 mysql은 멀티 프로세싱이 안되서 가장 느릴텐데 트래픽 발생이면 대기하고 있는 쿼리들이 엄청 많을껍니다.

    한번 조회해 보시죠?
    https://xetown.com/square/260146
  • profile

    아아, 리퍼러는 쓰고 있지 않아요! 하하;

     

    섣불리 판단하긴 뭐하지만, 대체적으로 과부하 줄이기에 성공한거 같아요.
    다른 분들을 위해 방법을 대충 남기자면...
    위의  .htaccess 파일의 코드를 넣었고, 클라우드플레어 서비스에 등록했으며, 코노리씨의 AA스팸봇 애드온도 썼고,
    봇차단 txt를 FTP에 넣어서 모든 페이지에서 봇이 가져가지 못하도록 해두었더니 확 줄었어요.
    더불어, 홈페이지의 애드온의 기능은 최소한으로만 켜두고 (10개이하), 홈페이지에 업로드되어있는 1메가 이상의 파일들을 싹다 정리했어요.....

     

    어제, 그제보다 훨씬 나은거 같은데.. 잠시 상황이 좋아진거일수도 있기 때문에......

    복잡한 심정입니다. 이래도 문제가 발생하면.. 정말 서버기계나 프로그램 문제이련가.....