[자바성능튜닝이야기] 02 내가 만든 프로그램의 속도를 알고 싶다

프로파일링 툴 vs APM 툴

프로파일링툴 APM 툴
목적 소스 레벨의 분석을 위한 툴 실시간 모니터링을 위한 툴
특징 1. 애플리케이션의 세부 응답 시간까지 분석할 수 있다.
2. 메모리 사용량을 객체나 클래스, 소스의 라인 단위까지 분석할 수 있다.
1. 애플리케이션의 장애 상황에 대한 모니터링 및 문제점 진단
2. 서버의 사용자 수나 리소스에 대한 모니터링을 할 수 있다.

* AMP = Application Performance Mornitoring

scouter

요새 자주 사용하고 있는 모니터링 툴:D
스카우터는 APM이다

Scouter is an open source APM (Application Performance Management) tool.


System 클래스

System.currentTimeMillis() vs System.nanoTime()

1
2
static long currentTimeMillis()
: 현재의 시간을 ms(밀리초)로 리턴한다.(1/1,000초)

currentTimeMillis()는 UTC라는 시간 표준 체계를 따르는데, 1970년 1월 1일부터의 시간을 long타입으로 리턴해 준다. 이 시간값을 변환하면 현재 날짜를 구할 수도 있다.

1
2
static long nanoTime()
: 현재의 시간을 ns(나노초)로 리턴한다.(1/1,000,000,000초)

nanoTime()은 JDK 5.0부터 추가된 메서드다.
nanoTime()은 시간 측정 목적으로 사용된다.

Share