Skip to Content
Java 성능, 제 2판
book

Java 성능, 제 2판

by Scott Oaks
May 2025
Beginner to intermediate
450 pages
7h 34m
Korean
O'Reilly Media, Inc.
Book available
Content preview from Java 성능, 제 2판

3장. Java 성능 도구 상자

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

성능 분석은 애플리케이션 내부와 애플리케이션 환경에서 어떤 일이 일어나고 있는지 파악하는 가시성에 관한 것입니다. 가시성은 결국 도구에 관한 것입니다. 따라서 성능 튜닝은 결국 도구에 관한 것입니다.

2장에서는 애플리케이션의 성능을 측정하고 그 측정값이 무엇을 의미하는지 이해해야 한다는 데이터 기반 성능 접근 방식의 중요성에 대해 살펴보았습니다. 성능 분석도 마찬가지로 데이터 기반이어야 합니다. 프로그램의 성능을 개선하려면 프로그램이 정확히 무엇을 하고 있는지에 대한 데이터가 있어야 합니다. 이 장에서는 이러한 데이터를 확보하고 이해하는 방법을 다룹니다.

수백 개의 도구가 Java 애플리케이션이 수행하는 작업에 대한 정보를 제공할 수 있으며, 모든 도구를 살펴보는 것은 비현실적입니다. 가장 중요한 도구 중 상당수는 Java 개발 키트(JDK)와 함께 제공되며, 이러한 도구에는 다른 오픈 소스 및 상용 경쟁 도구도 있지만 이 장에서는 편의상 주로 JDK 도구에 초점을 맞추고 있습니다.

운영 체제 도구 및 분석

프로그램 분석의 시작점은 Java에만 국한된 것이 아니라 운영 체제와 함께 제공되는 기본 모니터링 도구 세트입니다. 유닉스 기반 시스템에서는 sar (시스템 계정 보고서)와 그 구성 도구인vmstat,iostat,prstat 등이 있습니다. Windows에는 그래픽 리소스 모니터와 다음과 같은 명령줄 유틸리티가 있습니다.typeperf.

성능 테스트를 실행할 때마다 운영 체제에서 데이터를 수집해야 합니다. 최소한 CPU, 메모리, 디스크 사용량에 대한 정보를 수집해야 하며, 프로그램이 네트워크를 사용하는 경우 네트워크 사용량에 대한 정보도 수집해야 합니다. 성능 테스트가 자동화되어 있는 경우, 이는 명령줄 도구(Windows에서도)에 의존한다는 것을 의미합니다. 그러나 테스트가 대화형으로 실행되는 경우에도 GUI 그래프를 보고 그 의미를 추측하기보다는 출력을 캡처하는 명령줄 도구를 사용하는 것이 좋습니다. 나중에 분석을 수행할 때 언제든지 출력을 그래프로 그릴 수 있기 때문입니다.

CPU 사용량

먼저 CPU 모니터링과 이를 통해 Java 프로그램에 대해 알 수 있는 내용을 살펴봅시다. CPU 사용량은 일반적으로 사용자 시간과 시스템 시간(Windows에서는 이를 권한 시간이라고 함)의 두 가지 범주로 나뉩니다. 사용자 시간은 CPU가 애플리케이션 코드를 실행하는 시간의 비율이고,시스템 시간은 CPU가 커널 코드를 실행하는 시간의 비율입니다. 시스템 시간은 애플리케이션과 관련이 있습니다. 예를 들어 애플리케이션이 I/O를 수행하는 경우 커널은 디스크에서 파일을 읽거나 버퍼링된 데이터를 네트워크에 쓰기 위한 코드를 실행하는 등의 작업을 수행합니다. 기본 시스템 리소스를 사용하는 모든 것은 애플리케이션이 더 많은 시스템 시간을 사용하게 합니다.

성능의 목표는 가능한 한 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java 학습, 제 6판

Java 학습, 제 6판

Marc Loy, Patrick Niemeyer, Daniel Leuck
Java 제네릭 및 컬렉션, 제 2판

Java 제네릭 및 컬렉션, 제 2판

Maurice Naftalin, Philip Wadler
Think Java, 제 2판

Think Java, 제 2판

Allen B. Downey, Chris Mayfield
자바 최적화: 가장 빠른 성능을 구현하는 검증된 10가지 기법

자바 최적화: 가장 빠른 성능을 구현하는 검증된 10가지 기법

이일웅, 벤저민 J. 에번스, 제임스 고프, 크리스 뉴랜드

Publisher Resources

ISBN: 9798341654631Supplemental Content