과부하 현상 원인

리건2020.11.30 15:28조회 수 83댓글 4

    • 글자 크기










간단하게 설명하자면 과부하는 

자바내에 있는 GC 즉 가비지 컬렉터 기능이 정상적으로 수행되지 않는것으로부터 발생한다.

GC(가비지 컬렉터)란 자바에서 현재 쓰지 않는 메모리들을 자동으로 청소해주는 역활을 한다고 보면 된다.

 

GC가 정상적으로 되지 않는것에는 2가지의 이유가 있다.

1. 소스내부의 코딩 문제

2. 메모리할당이 잘못됨

 

 

1번의 문제는 소스내부 코딩이 잘못되서 다 쓴것이지만 GC가 청소를 못시켜주게됨 -> 반복 -> 과부하

(프@메에서 다수 발생되는 문제)

 

2번의 문제는 메모리할당이 잘못됨

가끔식 보면 XMS 4G XMX 4G 할당하는 얘들 있던데 그냥 둘다 지우셈

자신에게 맞는 GC방법으로 튜닝만 해도 과부하는 어느정도 막음 (1번문제 제외)

 

 

자 그럼 1번문제는 어떻게 해결해야 될까

자바는 우리에게 아주 좋은 해결책인 VisualVM을 주고갔다.

Java폴더-jdk-bin폴더 보면 jvisulvm이 있다.

가보면 visualGC기능도 있고 Sampler로도 현재 내가 사용하는 메모리나 CPU에서 가장 많이 불러오는것이 무엇인지 알수있다.

또한 덤프기능도 있는데 덤프를 한뒤 메모리에널라이즈라는 툴으로 분석하는것으로도 과부하를 잡을수 있지만

현역개발자들도 분석이 어렵다고 한다.

 

구버전의 경우 과부하의 원인은 쓰레드다.

대부분이 이용하는 화이트스타팩이라는건 자바의 기본코어를 이용하는데,

이 노답새끼들이 중요한게 뭐냐면 누가 접속할때마다 소켓을 생성한다.

그 과정에서 누군가의 소켓하나가 문제가난다면?

특히 많은 동접을 소유하고있는곳에서는 기본소켓을 쓰면 과부하가 일어날수밖에 없으니

구버전 대규모를 키우고싶다면 소켓부터 갈아치워라.

 

고버전의 경우 과부하의 원인은 소스코딩이다.

JVISUALVM으로 샘플러를 통해 CPU와 메모리에서 불러들이는것만으로도 확인해서 찍어맞추기로 소스코딩의 문제를 바로잡으면 좋겠지만 운이나쁠경우 메모리에널라이즈까지 써서 분석해야될 경우도 있다.

출처 : http://gamezone.live/?mid=board_RYMI94&page=2&document_srl=378496











    • 글자 크기

댓글 달기

댓글 4
번호 제목 글쓴이 조회 수
462 모든 이벤트 반지 효율 총정리7 베베 46
461 메이플합성장사7 wxwt 521
460 메이플팁2 나나니나 25
459 메이플지지 헬퍼4 당당해 447
458 메이플스토리를 하면서 동영상을 시청해보자.9 찰리 1475
457 메이플스토리 휴식 경험치 쿠폰9 ZI존경현 196
456 메이플스토리 핑크빈 선행퀘스트 공략9 디아블로미오 2522
455 메이플스토리 폭업사냥터 2019 - 추천 폭업루트, 리부트 동일10 디아블로미오 286
454 메이플스토리 캐쉬 얼굴장식 정리15 디아블로미오 8912
453 메이플스토리 창을 따라다니는 메모장10 L0ST 125
452 메이플스토리 장사팁5 이젤 516
451 메이플스토리 잃어버린 깃털펜 퀘스트 공략 - 이상한 조각함 위치, 시간의 신전, 보상11 디아블로미오 3651
450 메이플스토리 유니온 효과 정리! 유니온 순위 및 순서 알려드릴게요!11 디아블로미오 798
449 메이플스토리 유니온 육성팁26 wxwt 50
448 메이플스토리 아케인포스 뻥튀기 (포스뻥)11 베베 357
447 메이플스토리 아케인스톤 활성화, 호라이즌포탈 위치 찾기 공략!8 디아블로미오 2703
446 메이플스토리 아랫마을 무자본 초반 메소 획득 루트3 ZI존경현 48
445 메이플스토리 소프라노 헤어 믹스염색표9 브랜뉴 468
444 메이플스토리 소멸의여로 길뚫기 안내해드릴게요.( 아케인포스에 대해서도. )12 브랜뉴 1480
443 메이플스토리 사재기 팁6 이젤 189
이전 1 ... 33 34 35 36 37 38 39 40 41 42... 61다음
첨부 (0)