cpu 사용량이 과하게 잡혀요 ..
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.1 |
동접자는 30명 에서 50명유지중인데 load average 가 50 넘게 잡히네요
무엇이 원인인지 파악이 잘 안되는데 아파치나 mariadb를 내렷다 올려도 금방 저렇게 되어버려서
페이지 접근 속도가 심각하게 저하되네요 .. 무엇부터 확인 을 해보는게 좋을까요
아파치 오류로그에는 특이 사항이 없어요 ..
아파치 설정에서 keep arive 는 On 로 해둔 상태고 Timeout 은 60으로 해둿어요
MaxKeppAliveRequests 는 300 입니다.
댓글 28
이 명령어 실행되는 동안은 사이트(서버)가 멈춰있는 상태가 될 수도 있습니다.
이 명령어를 꼭 사용해야 하는 상황이라면 접속자가 없는 시간대에 하루 1번 정도 사용하세요.
2. cpu가 데스크탑용이라면 cpu점유율이 높습니다.
3. 동접자가 아주 많다면 KepAlive를 off 하시거나 KeepAliveTimeout를 짧게 설정하십시오.
4. apache mpm을 prefork를 사용하고 있다면 event mpm을 사용하는 것을 고려하십시오.
2. iwin 서버 상품을 이용 중 입니다. 2rCore, 4GB 상품을 사용 중입니다.
3. KeepAlive 를 Off 하고 KeppAliveTimeout을 1로 설정 후 아파치를 재기동하였습니다. 상태를 지켜봐야겠네요.
4. 고려 해 보겠습니다.
답변 감사합니다!
drop_cache 는 크론탭 확인해보세요.
netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
이명령어 실행결과 보여 주세요.
1 Foreign
2 FIN_WAIT2
14 LISTEN
17 ESTABLISHED
46 SYN_RECV
147 TIME_WAIT
398 CLOSE_WAIT
이렇게 결과가 나왔씁니다
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
이런 로그가 몇개 보이네요
binlog생성시 문제 발생하는 것 같네요.
binlog_format이 어떻게 되어 있나요? statement로 세팅되어있어 그런것 같은데
리플리케이션 구성이 안되어 있다면
binlog_format을 mixed로 바꾸세요.
리플리케이션은 사용하고 있지 않아요 훔,,
DB 슬로우 쿼리 확인 및 아파치 ACCESS로그 확인을 통해서 어떠한 부분에서 문제가 발생하고 있는지를 파악하세요. 아니면 로그 내용을 남겨주시면 아시는 분이 답을 해주실 거에요.
참고로 cache_drop.sh는 해당 업체에서 캐시 메모리 초기화를 위해 기본적으로 등록해둔 스크립트입니다.
(https://help.iwinv.kr/manual/read.html?idx=464 제일 아래쪽 내용 참고)
슬로우 쿼리 로그 옵션을 이제 다시 켜 놓았습니다.
참고 사항 주셔서 감사합니다. 참고 해 보겠습니다.
가비아 서버인가요? 가비아 모니터링 프로그램(gabia_mond)이 DB보다도 CPU를 더 많이 사용하고 있는데요.
서버 상태를 모니터링해 줘야 할 녀석이 오히려 앞장서서 서버 상태를 악화시키고 있다면 뭔가 잘못된 것이니 가비아에도 한번 문의해 보세요. 쓸데없는 drop_cache가 계속 찍히는 것도 저것 때문일 가능성이 있습니다. RAM 사용량이 낮은 것처럼 눈속임하는 트릭이죠.
redis서버가 netstat 했을때 6379 포트가 엄청 찍혀서 쓰는곳도 없어서 지워봤더니 라이믹스 오류가 뿜 하네요 redis 캐쉬 연동은 하지 않았는데말이에요 슬픕니다 흡
아파치 에러 로그에 위 이미지 같은 기록이 남은 후에 접속이 확 지연되는데 혹시 관련이 있을까요?
다만 마지막 에러는 확인이 필요한데요... 캐시파일을 갱신하는 데 실패한 것 같습니다. files 폴더와 모든 서브폴더의 퍼미션을 확인해 주세요. 캐시가 제대로 작동하지 않는다면 성능에도 영향을 줄 수 있거든요.
무슨 이유인지는 모르겠지만 안드로이드푸시앱 모듈에서 문제가 발생했었네요. 비동기 curl 방식을 사용하고 있었는데 푸시 알람이 전송되지 않고 계속 대기상태가 걸리면서 부하가 발생했습니다 ....
전송방식을 ajax 로 바꾸니 해결되었네요 마지막 쿼리부분도 퍼미션 오류가 일부 있어서 수정했습니다! 도와주셔서 정말 감사합니다!
새벽 2시에 전송모드 바꾸자 마자 밀린 알림들이 쭈르륵 전송되어서 갑자기 알림이 몇십개씩 왔다고 카톡이 오네요 ㅋㅋ 재밌는 이슈였습니다.
https://xetown.com/tips/1178158
혹시 메일서버를 직접 운영하시나요 ? 메일쪽에서 지금 부하를 계속 만들고 있진 않겠죠 ?
괜히 신경쓰이는게 있어서 여쭤 봤습니다. 혹시 고급메일발송모듈의 실패나 성공 이력에....
아..니요 메일서버는 운영하고 있지 않고 고급메일발송모듈에서 에러기록을 봤을때 가장 최근 에러는 지난 1월 초쯤 되네요. 다행이에요 푸시앱도 전송방식을 바꾼후로는 전송은 잘 되는데 아파치 점유율은 계속 높고 페이지 로딩 속도도 12~16초 사이로 나오니 ... 어렵네요 퓨,,
응답을 기다리는 시간이 오래 걸리고 그 다음부터 리소스를 불러오는데는 금방 끝나더라구요.
아파치 설정이 문제일까요 움 ,,
새글알림 ajax로 운영하시는건 아니겠죠 ?
그리고 지금 메모리가 살짝 부족할 것 같은 사양입니다. 평상시 동접인원이 많고 활동도 많다면 말이죠..
상황이 심각하면 서버 이전을 고려하고 있기도 해요 ..
새글 알림 ajax 로 운영하다가 지금은 껏습니다 퓨퓨 ,, 이제는 500에러까지 뜨네요 ,,
메모리가 많이 부족할 것이란 생각이 듭니다. 저희가 이전 하기 전 서버가 2코어에 4G 였는데요. 코어문제보다 메모리 부족이 심각했습니다. 메모리때문에 cpu 로드가 걸리지는 않겠지만... 지연이 많이 생기더라구요. 저희는 늘 40-50명 은 아니었구요. 많을때만 그렇고 평상시는 10-20 명 수준이었습니다.
현재는 iwinv 4코어 8G 짜리로 이전해서 아주 쾌적한 상황입니다.
현재 그정도 동접에 글쓰기 댓글쓰기 등을 하는 인원이라면.. 메모리가 많이 부족할 것 같습니다.
일단 CPU문제는 그렇다해도 메모리는 넉넉해야 할 것 같네요.
유지보수로 유지가 가능할거라고 생각했는데 이제 놓아줄때가 된 것 같네요
지금은 iwinv rCore.Q1 상품 사용중인데 rCore.R1 상품으로 옮긴다면 4코어 8기가 사양이네요
학생들이 모여서 운영하는 커뮤니티이다 보니 비용부담이 계속 생기는데 어떻게든 되겠죠 ㅎㅎ
조언 감사합니다 !
4기가면 XE로 커뮤니티를 돌리기 위한 기본적인 메모리 정도 확보가 될 것입니다. 사이트가 어느정도 활성화 된 후에 사용하기에는 많이 부족할거에요.
업체에서 서비스로 늘려주었던 메모리를 회수하기 전에는 괜찮았는데 회수하고 4G로 되어 버리니 바로 많이 느껴질 정도로 버벅되더군요. 스왑까지 자꾸 사용하는데 스왑 인아웃 할때 페이지로딩을 타임아웃으로 못하고 그래서 스왑을 껐더니 서버가 다운되었습니다 ㅋㅋ
뿌듯하기도 하고 재밌는거 같아요 지금 생각하면 1기가 가지고 어떻게 했는지 참 싱기방기하기도 해요