ELEVISOR for J2EE

에이전트 설정 튜닝

에이전트 설정 튜닝

Previous topic Next topic  

에이전트 설정 튜닝

Previous topic Next topic  

CPU 부하를 줄이기 위한 에이전트 설정 튜닝 법

커넥션릭 디텍션 및 자동 Close 기능 disable -> 기본값을 향후에는 false로 Release  예정

이기능이 활성화 되어 있으면, 커넥션 획득시마다 해당 스레드의 스택정보를 생성하게 되어 부하가 발생됨.

trace.jdbc.connection.leak.trace=false

trace.jdbc.connection.leak.auto.close=false

 

트레이스 레벨 설정 ( 에이전트 버전이 2.5.0.25 이하만 해당 됨)

 

트레이스를 얼만큼 할지를 결정하는 설정으로서 성능에 가장 영향을 많이 줌.

1. trace.max.length -> 트레이스를 몇개까지 추적할 것인지 설정, 200으로 설정시 이후 트레이스 대상은 모두 bypass함.

2. trace.truncate.threshold -> 트레이스시 설정된 응답시간 이하는 트레이스 과정에서 버리게 됨, CPU 자원은 사용하나, Heap메모리는 점유하지 않음.

 - trace.max.length=100, trace.truncate.threshold=-1 설정시 : 응답시간에 상관없이 처음부터 100개까지만 트레이스함. -> 최대 트레이스는 100개

  - trace.max.length=100, trace.truncate.threshold=10 설정시 : 응답시간이 10ms 이상인 트레이스를 100개 트레이스함 -> 최대 트레이스는 모름, 즉. 트레이스를 많이 할수 있음.

 

 Elevisor Console Trace(text)로 보면  이렇게 정보가 표시됨.

      ->  Trace Info  : Length=8  ( Total=142, Real=142, Truncated=134 )  ( Threshold=10, TraceLimit=100 )  ( Exception Trace=true )

 ※ 부하 테스트시 설정은 아래와 같이 권고, 단 트레이스는 일부만 됨( 성능데이터가 제데로 나오지 않음)

 

 trace.max.length=10

 trace.truncate.length=-1

 

소켓통신/파일 I/O 정보 수집 기능 설정

아래 항목은 필요시에만 true로 설정, false로 설정시 trace에 정보가 안나옴.

trace.io.socket.enable=true

trace.io.file.enable=true

 

자동 덤프 설정

부하 테스트시 액티브 서비스가 급증하기 때문에 아래의 덤프 설정 조건이 충족되어 덤프가 계속 발생될수 있음.

service.dump.enable=false

service.dump.thread.enable=false

 

SLC 기능 설정

부하 테스트시 slc 설정이 되어 있을경우 의도치 않게 Rediraction 페이지로 이동될수 있음.

service.slc.enable=false

// 1 : message, 2: redirect

service.slc.type=1

service.slc.redirect.message=시스템 사용자가 너무 많습니다. 잠시후에 접속하여 주세요.

service.slc.redirect.url=/busy.jsp

service.slc.active.service.limit=90

service.slc.uri.enable=false

service.slc.uri.names=/aa.jsp:10,/bb.jsp:20

 

Access로그 로깅 기능 설정

Access로그 로깅 기능 설정시 로깅에 부하가 발생될수 있음.

logging.accesslog.enable=false

 

성능정보 로깅 기능 설정

Access로그 로깅 기능 설정시 로깅에 부하가 발생될수 있음.

logging.performancelog.enable=false

 

스레드간 Lock 정보 수집 기능 설정

부하 테스트시 스레드간 Lock 정보 수집기능 비활성화 필요.

lock.monitor.enable=false

lock.monitor.interval=60

lock.monitor.dump.thread.enable=false

lock.monitor.dump.interval=120

 


  트레이스 (Trace) 설정 튜닝

트레이스 레벨 설정

    Agent 버전이 2.5.0.25 이상 or  2.5.1.0  이상 경우

 

  트레이스를 얼만큼 할지를 결정하는 설정으로서 성능에 가장 영향을 많이 줌.

 

  1. trace.max.length -> 실제 트레이스를 최대 몇개까지 추적할 것인지 설정, 200으로 설정시 이후 트레이스 대상은 모두 bypass함.

  2. trace. collect.length -> 실제 트레이스를 최대 몇개까지 수집 할것 인지 설정, 100으로 설정시 이후 트레이스 최대 100개 까지 수집에 모두 bypass함

  3. trace.truncate.threshold -> 트레이스시 설정된 응답시간 이하는 트레이스 과정에서 버리게 됨, CPU 자원은 사용하나, Heap메모리는 점유하지 않음.

 

 Elevisor Console Trace(text)로 보면  이렇게 정보가 표시됨.

 ※ 부하 테스트시 설정은 아래와 같이 권고, 단 트레이스는 일부만 됨( 성능데이터가 제데로 나오지 않음)

clip0126

      ->  Trace Info  : Length=8  ( Total=142, Real=142, Truncated=134 )  ( Threshold=10, TraceLimit=100 )  ( Exception Trace=true )

 

ex) 예제

 

  1. trace 설정이 아래와 같을시 Elevisor 최대 수집 개수는 100개 까지 수집 했을 경우

    trace.max.length=200

    trace.collect.length=100 (default)

   trace.truncate.length=-1

 

xclip0262

 

 

2.   trace 설정이 아래와 같을시 Elevisor 최대 수집 개수는 100개 까지 수집 하고    trace 실행이 1ms 이상  수집 했을 경우

 trace.max.length=200

 trace.collect.length=100 (default)

 trace.truncate.length= 1

 

clip0124

 

 

3.   trace 설정이 아래와 같을시 Elevisor 최대 수집 개수는 5개 까지 수집 하고    trace 실행이 1ms 이상  수집 했을 경우

 trace.max.length=200

 trace.collect.length=5

 trace.truncate.length= 1

 

clip0125