질문/조언질답게시판
Extra Form
PHP PHP 7.1
CMS Rhymix

1.PNG

2.PNG

 

3.PNG

 

동접자는 30명 에서 50명유지중인데 load average 가 50 넘게 잡히네요

무엇이 원인인지 파악이 잘 안되는데 아파치나 mariadb를 내렷다 올려도 금방 저렇게 되어버려서

페이지 접근 속도가 심각하게 저하되네요 .. 무엇부터 확인 을 해보는게 좋을까요

아파치 오류로그에는 특이 사항이 없어요 .. 

 

아파치 설정에서  keep arive 는 On 로 해둔 상태고 Timeout 은 60으로 해둿어요

MaxKeppAliveRequests 는 300 입니다.

  • profile
    1. drop_cache 3 이거 cpu를 사용할 수 있는 만큼 최대한 사용하는 명령어입니다.
    이 명령어 실행되는 동안은 사이트(서버)가 멈춰있는 상태가 될 수도 있습니다.
    이 명령어를 꼭 사용해야 하는 상황이라면 접속자가 없는 시간대에 하루 1번 정도 사용하세요.
    2. cpu가 데스크탑용이라면 cpu점유율이 높습니다.
    3. 동접자가 아주 많다면 KepAlive를 off 하시거나 KeepAliveTimeout를 짧게 설정하십시오.
    4. apache mpm을 prefork를 사용하고 있다면 event mpm을 사용하는 것을 고려하십시오.
  • profile profile
    1. drop_cache 로그는 제가 사용한 것이 아닌 dmesg 로그에 찍힌 결과입니다. 왜 저런 로그가 남았는지는 잘 ..
    2. iwin 서버 상품을 이용 중 입니다. 2rCore, 4GB 상품을 사용 중입니다.
    3. KeepAlive 를 Off 하고 KeppAliveTimeout을 1로 설정 후 아파치를 재기동하였습니다. 상태를 지켜봐야겠네요.
    4. 고려 해 보겠습니다.

    답변 감사합니다!
  • profile profile

    drop_cache 는 크론탭 확인해보세요.

    netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
    이명령어 실행결과 보여 주세요.

  • profile profile
    1 established)
    1 Foreign
    2 FIN_WAIT2
    14 LISTEN
    17 ESTABLISHED
    46 SYN_RECV
    147 TIME_WAIT
    398 CLOSE_WAIT

    이렇게 결과가 나왔씁니다
  • profile profile
    /var/log/messages에 이상한 내용없나 확인해보세요.
  • profile profile
    Feb 21 21:58:00 mysqld[24989]: 2019-02-21 21:58:00 140637558446848 [Note] Suppressing warnings of type 'Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly.' for up to 300 seconds because of flooding
    Feb 21 21:58:38 sm-mta[1494]: rejecting connections on daemon MTA-v4: load average: 24
    Feb 21 21:58:38 sm-mta[1494]: rejecting connections on daemon MSP-v4: load average: 24
    Feb 21 21:58:53 sm-mta[1494]: rejecting connections on daemon MTA-v4: load average: 27
    Feb 21 21:58:53 sm-mta[1494]: rejecting connections on daemon MSP-v4: load average: 27
    Feb 21 21:59:08 sm-mta[1494]: rejecting connections on daemon MTA-v4: load average: 28
    Feb 21 21:59:08 sm-mta[1494]: rejecting connections on daemon MSP-v4: load average: 28
    Feb 21 21:59:23 sm-mta[1494]: rejecting connections on daemon MTA-v4: load average: 29
    Feb 21 21:59:23 sm-mta[1494]: rejecting connections on daemon MSP-v4: load average: 29
    Feb 21 21:59:38 sm-mta[1494]: rejecting connections on daemon MTA-v4: load average: 26
    Feb 21 21:59:38 sm-mta[1494]: rejecting connections on daemon MSP-v4: load average: 26
    Feb 21 21:59:45 mysqld[24989]: 2019-02-21 21:59:45 140637853113088 [Warning] IP address '58.218.*.*' could not be resolved: Name or service not known

    이런 로그가 몇개 보이네요
  • profile profile
    마리아디비 리플리케이션 설정되어 있나요?
    binlog생성시 문제 발생하는 것 같네요.
    binlog_format이 어떻게 되어 있나요? statement로 세팅되어있어 그런것 같은데
    리플리케이션 구성이 안되어 있다면
    binlog_format을 mixed로 바꾸세요.
  • profile profile
    네 binlog_format 이 statement 로 되어 있었어요 mixed 로 변경했습니다. 감사합니다
    리플리케이션은 사용하고 있지 않아요 훔,,
  • ?

    DB 슬로우 쿼리 확인 및 아파치 ACCESS로그 확인을 통해서 어떠한 부분에서 문제가 발생하고 있는지를 파악하세요. 아니면 로그 내용을 남겨주시면 아시는 분이 답을 해주실 거에요.

     

    참고로 cache_drop.sh는 해당 업체에서 캐시 메모리 초기화를 위해 기본적으로 등록해둔 스크립트입니다.

    (https://help.iwinv.kr/manual/read.html?idx=464 제일 아래쪽 내용 참고)

  • ? profile
    아파치 ACCESS 로그는 지속적으로 확인 중인데 별 특이사항이 안보이네요 조금 더 지켜봐야 겠어요
    슬로우 쿼리 로그 옵션을 이제 다시 켜 놓았습니다.

    참고 사항 주셔서 감사합니다. 참고 해 보겠습니다.
  • profile

    가비아 서버인가요? 가비아 모니터링 프로그램(gabia_mond)이 DB보다도 CPU를 더 많이 사용하고 있는데요.

     

    서버 상태를 모니터링해 줘야 할 녀석이 오히려 앞장서서 서버 상태를 악화시키고 있다면 뭔가 잘못된 것이니 가비아에도 한번 문의해 보세요. 쓸데없는 drop_cache가 계속 찍히는 것도 저것 때문일 가능성이 있습니다. RAM 사용량이 낮은 것처럼 눈속임하는 트릭이죠.

  • profile profile
    아니요 서버는 iwinv 를 사용하고 있고 모니터링만 가비아 것을 사용하고 있어요 원래 와탭 모니터링을 쓰다가 가비아로 옮겼는데 이것도 의심스럽네요. 가비아는 지워버렸습니다.. 후,,
    redis서버가 netstat 했을때 6379 포트가 엄청 찍혀서 쓰는곳도 없어서 지워봤더니 라이믹스 오류가 뿜 하네요 redis 캐쉬 연동은 하지 않았는데말이에요 슬픕니다 흡
  • profile profile
    커넥션 수가 문제가 아니라 그 커넥션을 처리하는 데 얼마나 많은 자원을 사용하고 있는지가 문제입니다. redis 커넥션 1000개보다 아파치에서 PHP 돌리는 커넥션 1개가 더 많은 자원을 소모합니다.
  • profile profile

    123.PNG

    아파치 에러 로그에 위 이미지 같은 기록이 남은 후에 접속이 확 지연되는데 혹시 관련이 있을까요?

  • profile profile
    쿼리 에러가 좀 우려스럽기는 하지만, 아예 작동하지 않는다면 몰라도 지연을 일으킬 만한 문제는 아닙니다.

    다만 마지막 에러는 확인이 필요한데요... 캐시파일을 갱신하는 데 실패한 것 같습니다. files 폴더와 모든 서브폴더의 퍼미션을 확인해 주세요. 캐시가 제대로 작동하지 않는다면 성능에도 영향을 줄 수 있거든요.
  • profile profile
    서버 내리고 점검에 들어갔습니다. 몇일째 이런 문제가 지속되어서 불만 의견이 있어 사용자가 빠질까 걱정스럽네요. 조언 해 주셔서 정말 감사합니다! 찬찬히 살펴볼게요 :D
  • profile profile

    무슨 이유인지는 모르겠지만 안드로이드푸시앱 모듈에서 문제가 발생했었네요. 비동기 curl 방식을 사용하고 있었는데 푸시 알람이 전송되지 않고 계속 대기상태가 걸리면서 부하가 발생했습니다 ....
    전송방식을 ajax 로 바꾸니 해결되었네요 마지막 쿼리부분도 퍼미션 오류가 일부 있어서 수정했습니다! 도와주셔서 정말 감사합니다!

    새벽 2시에 전송모드 바꾸자 마자 밀린 알림들이 쭈르륵 전송되어서 갑자기 알림이 몇십개씩 왔다고 카톡이 오네요 ㅋㅋ 재밌는 이슈였습니다.

  • profile profile
    도움되는 내용일 있을지 모르겠습니다.
    https://xetown.com/tips/1178158
  • profile profile
    회원수 2천명에 앱 사용자는 1천명이 조금 넘는 지라 443포트 설정이나 분할 전송으로 해결되는 문제는 아니였어요 참고자료 감사합니다! 몇일전에 푸시앱 모듈에서 문제가 생겼었다고 생각했었는데 그 문제는 하나의 문제였고 다시 cpu 점유율이 차오르고 있네요 으으.. .
  • profile profile

    혹시 메일서버를 직접 운영하시나요 ? 메일쪽에서 지금 부하를 계속 만들고 있진 않겠죠 ?

    괜히 신경쓰이는게 있어서 여쭤 봤습니다. 혹시 고급메일발송모듈의 실패나 성공 이력에....

  • profile profile

    아..니요 메일서버는 운영하고 있지 않고 고급메일발송모듈에서 에러기록을 봤을때 가장 최근 에러는 지난 1월 초쯤 되네요. 다행이에요 푸시앱도 전송방식을 바꾼후로는 전송은 잘 되는데 아파치 점유율은 계속 높고 페이지 로딩 속도도 12~16초 사이로 나오니 ... 어렵네요 퓨,,

    응답을 기다리는 시간이 오래 걸리고 그 다음부터 리소스를 불러오는데는 금방 끝나더라구요.

    아파치 설정이 문제일까요 움 ,, 

  • profile profile
    뭔가 로드를 발생시키는 원인이 있다면 제거하면 될텐데 쉽지 않으신가보네요.
    새글알림 ajax로 운영하시는건 아니겠죠 ?

    그리고 지금 메모리가 살짝 부족할 것 같은 사양입니다. 평상시 동접인원이 많고 활동도 많다면 말이죠..
  • profile profile
    동접자가 요즘에는 40~50명 정도 왔다갔다 하고 있어요 메모리가 더 필요할까요?
    상황이 심각하면 서버 이전을 고려하고 있기도 해요 ..
    새글 알림 ajax 로 운영하다가 지금은 껏습니다 퓨퓨 ,, 이제는 500에러까지 뜨네요 ,,
  • profile profile

    메모리가 많이 부족할 것이란 생각이 듭니다. 저희가 이전 하기 전 서버가 2코어에 4G 였는데요. 코어문제보다 메모리 부족이 심각했습니다. 메모리때문에 cpu 로드가 걸리지는 않겠지만... 지연이 많이 생기더라구요. 저희는 늘 40-50명 은 아니었구요. 많을때만 그렇고 평상시는 10-20 명 수준이었습니다.

    현재는 iwinv 4코어 8G 짜리로 이전해서 아주 쾌적한 상황입니다.

     

    현재 그정도 동접에 글쓰기 댓글쓰기 등을 하는 인원이라면..  메모리가 많이 부족할 것 같습니다.


    일단 CPU문제는 그렇다해도 메모리는 넉넉해야 할 것 같네요.

  • profile profile

    유지보수로 유지가 가능할거라고 생각했는데 이제 놓아줄때가 된 것 같네요
    지금은 iwinv rCore.Q1 상품 사용중인데 rCore.R1 상품으로 옮긴다면 4코어 8기가 사양이네요
    학생들이 모여서 운영하는 커뮤니티이다 보니 비용부담이 계속 생기는데 어떻게든 되겠죠 ㅎㅎ
    조언 감사합니다 !

  • profile profile

    4기가면 XE로 커뮤니티를 돌리기 위한 기본적인 메모리 정도 확보가 될 것입니다. 사이트가 어느정도 활성화 된 후에 사용하기에는 많이 부족할거에요. 

    업체에서 서비스로 늘려주었던 메모리를 회수하기 전에는 괜찮았는데 회수하고 4G로 되어 버리니 바로 많이 느껴질 정도로 버벅되더군요. 스왑까지 자꾸 사용하는데 스왑 인아웃 할때 페이지로딩을 타임아웃으로 못하고 그래서 스왑을 껐더니 서버가 다운되었습니다 ㅋㅋ

  • profile profile
    가상코어 1gb / 1core 부터 하나씩 상품을 올려왔는데 여기까지 왔네요 ㅋㅋㅋ
    뿌듯하기도 하고 재밌는거 같아요 지금 생각하면 1기가 가지고 어떻게 했는지 참 싱기방기하기도 해요
  • profile profile
    역시 돈은 거짓말을 하지 않네요!!!! 하핳