본문 바로가기

IT 제품 용어 정리/Scouter

[Scouter] Scouter에서 쓰이는 용어에 대해서 알아보자

글쓴이의 개인적인 정리임을 밝힙니다.

 

page fault 자주 발생 - 물리메모리(=피지컬메모리)가 부족

 

swap

- 메모리 공간이 부족해지면 하드디스크로 데이터를 저장시키는 역할을 함

 

swap | Page In = 하드디스크 저장

           Page out = 하드디스크 배출

 

스왑을 사용한 흔적이 있다 = 물리 메모리가 부족했다고 생각할 수 있지만(의심) 무조건은 아님

 

Elapsed Time = 평균 응답시간

Elapsed Time 90% = 너무 큰거 뺴고, 너무 적은거 뺴고 평균 응답시간

 

자바에서 지역변수안에서 쓴 변수들이 중괄호를 벗어나면 가비지가 되고, 가비지 콜렉터가 회수함

 

GC Time 보는 이유

- 자바에서 GC 쓰레드가 우선순위로, 이것이 도는 순간 다른 것들은 blocking. 일을 안하면 동작을 안한다는 뜻임

- 최대 1초가 넘어가면 사용자 응답시간에 영향 미친다고 판단. 1초 미만의 GC Time을 갖게 튜닝

- JVM 발전하는데 GC Collection이 발전함

 

Heap Used 그래프 볼 때, 뭘 보냐

- 단순하게 하루 이틀 보는게 아니고, 아주 길게 1주일 지표를 보고, 쓰고 떨어지고 쓰고 떨어지고 패턴을 보임. 메모리 저점의 패턴을 봄.

- 저점을 증가하는 패턴을 보이면, 언젠가 메모리가 떨어질 거임.

- 이런 패턴을 보이면(찾을 때 heap dump 봐야됌)

-

 

Metaspace(JAVA8) = Permanent Generation(JAVA7까지) = 교제 Perm%

- WAS 실행하고, 하루 이틀 운영하고 지켜보고, 그래프가 증가하다가 더 이상은 일자로 머물면 정상

- 서서히 위로 계속 올라가면, Permanent를 지켜봐야됌

 

PermGen(Permanent Generation)

- 클래스와 메서드 메타데이타, static 내용들이 저장되는 힙에서 분리된 별도의 힙 공간

- 바이트 코드, 이름, JIT 정보 저장

- 기본 최대 메모리 32bit에서 64MB, 64bit에서 82MB

 

메타 데이터

- ‘속성 정보라고도 불리며, ‘데이터에 관한 구조화된 데이터’, ‘다른 데이터를 설명해주는 데이터라고도 함

- 대량의 정보 가운데에서 찾고 있는 정보를 효율적으로 찾아내서 이용하기 위해 일정한 규칙에 따라 콘텐츠에 대하여 부여하는 데이터(ex. 인스타 #해시태그 와 유사한 역할)

- 콘텐츠의 위치와 내용, 작성자에 관한 정보, 권리 조건, 이용 조건 . 내력등이 기록

- 목적 1. 데이터를 표현하기 위함

       2. 데이터를 빨리 찾기 위한 목적 (정보의 인덱스 역할)

- 데이터 표현 목적위해 사용하는 메타 데이터의 좋은 예: HTML

- head, body, table, table안에 tr 등등 다 메타데이터

 

Recent User

- 일반적으로 Web System은 동시 사용자 수를 정확하게 측정 X

 

JMeter(핵심)

- 부하량을 얼마만큼 줄건지

- 사용자를 얼마나 줄건지(어려움)

 

TPS(젤 중요, Transaction Per Second, 초당 트랜젝션 수)

- TPS는 응답시간 분의 요청건수(가상유저수), 응답시간이 길어지면 TPS가 분모가 커져 떨어짐

- TPS가 높을수록 더 많은 사용자가 처리가능

 

Client서버가 data베이스에 직접 connection(과거)

- 문제는 client수가 많아지면 디비도 많아짐 그래서 부담스러워지고, connection session을 맺는게 되게 많은 자원을 순간적으로 사용하게 됨

- 그래서 웹시스템으로 오면서 middle웨어(Application = was)를 사용하게 됨

- was에서 미리 디비 컨넥션들을 맺어줌.

- 쓰고 반납함

- 컨넥션 풀 10개 잡으면 10개 사용하고, 10개 넘어가면 응답시간이 지연됨

 

Respond time

= CPU time(cpu가 돌아가면서 걸린 시간) + Wait time(일 안하고 기다리는 시간)

                                       + network time

 

- Resp time 줄일려면, cpu time줄이기 (ex. 개발자들이 코드 효율적으로 짜기(힘듬))

- Wait time 줄여주기

 

Xlog x축은 요청하고 완료된 시간, y축은 걸린시간

 

Rdb = rock 덩어리 = 데이터의 정확성(깨지면 안됨.)