Skip to Content
Javaパフォーマンス第2版
book

Javaパフォーマンス第2版

by Scott Oaks
March 2025
Intermediate to advanced
450 pages
7h 10m
Japanese
O'Reilly Media, Inc.
Content preview from Javaパフォーマンス第2版

第3章 Javaパフォーマンス・ツールボックス Javaパフォーマンス・ツールボックス

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

パフォーマンス分析とは、アプリケーション内部やアプリケーション環境で何が起こっているかを知ることである。そして、パフォーマンス・チューニングはすべてツールに関係している。

第2章では、パフォーマンスに対してデータドリブンなアプローチをとることの重要性を見た。パフォーマンス分析も同様にデータ駆動型でなければならない。より良いパフォーマンスを得るためには、プログラミングが正確に何を行っているのかについてのデータが必要である。そのデータをどのように入手し理解するかが、この章の主題である。

何百ものツールが、Javaアプリケーションの動作に関する情報を提供することができるが、それらすべてを見ることは現実的ではないだろう。最も重要なツールの多くはJava開発キット(JDK)に付属しており、それらのツールには他にもオープンソースや商用の競合製品があるが、この章では便宜上JDKのツールに主に焦点を当てる。

オペレーティングシステムのツールと分析

プログラム解析の出発点は、Java固有のものではまったくない。オペレーティング・システムに付属する監視ツールの基本セットである。Unixベースのシステムでは、sar (システム・アカウンティング・レポート)と、vmstatiostatprstat などのその構成ツールである。Windowsには、グラフィカル・リソース・モニターと、以下のようなコマンドライン・ユーティリティがある。typeperf.

パフォーマンステストを実行するときは、必ずオペレーティングシステムからデータを収集すべきである。最低限、CPU、メモリ、ディスクの使用量に関する情報を収集すべきである。プログラミングがネットワークを使用する場合は、ネットワークの使用量に関する情報も収集すべきである。パフォーマンステストが自動化されている場合、これはコマンドラインツールに頼ることを意味する(Windowsでも)。しかし、テストを対話的に実行する場合でも、GUIのグラフを目視してその意味を推測するよりは、出力をキャプチャするコマンドラインツールがあった方が良い。 出力は、後で分析するときにいつでもグラフ化することができる。

CPU使用率

まずCPUの監視と、それがJavaプログラムについて何を教えてくれるかを見てみよう。CPU使用率は通常、ユーザ時間とシステム時間(Windowsはこれを特権時間と呼ぶ)の2つに分けられる。ユーザ時間とは、CPUがアプリケーション・コードを実行している時間の割合であり、システム時間とは、CPUがカーネル・コードを実行している時間の割合である。 システム時間はアプリケーションに関連しており、例えばアプリケーションがI/Oを実行する場合、カーネルはディスクからファイルを読み取ったり、バッファリングされたデータをネットワークに書き込んだりするコードを実行する。基礎となるシステムリソースを使用するものはすべて、アプリケーションにより多くのシステム時間を使わせることになる。

パフォーマンスの目標は、CPU使用率をできるだけ高く、できるだけ短時間にすることだ。これは少し直感に反するように聞こえるかもしれない。デスクトップに座って、CPUが100%使用されているために苦労しているのを見たことがある人は間違いないだろう。 ...

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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

スクラム実践者が知るべき97のこと

スクラム実践者が知るべき97のこと

Gunther Verheyen, 吉羽 龍太郎, 原田 騎郎, 永瀬 美穂

Publisher Resources

ISBN: 9798341626010