Javaエンジニアがうんざりする「リソース不足」問題と対処法Javaのよくあるランタイムエラーの5大原因【第2回】

「Java」アプリケーションで発生するランタイムエラーが発生する原因は、開発者のミスだけではない。主な原因のうち「リソース不足」を取り上げ、その対策を紹介する。

2022年06月21日 05時00分 公開
[Cameron McKenzieTechTarget]

関連キーワード

Java | アプリケーション開発


 プログラミング言語および実行・開発環境「Java」で開発したアプリケーションは、実行中に不適切な動作をする「ランタイムエラー」(実行時エラー)が発生することがある。ランタイムエラーの原因のうち、主要な5つを紹介する本連載。第2回となる今回は、2つ目の原因を取り上げる。

2.リソース不足

 全てのランタイムエラーがソフトウェア開発者のせいというわけではない。むしろランタイムエラーの原因になりがちなのは、ITインフラが引き起こすリソースの問題だ。例えば以下のような問題が挙げられる。

  • サーバからの応答の遅延
  • メモリの容量不足
  • CPUの過剰使用
  • プロセッサが実行するスレッドの未スケジューリング

 リソース関連のランタイムエラーを回避する方法は、「Apache JMeter」「LoadRunner」などの負荷テストツールを使用することだ。問題を検出したら、リソースの問題が解消するまでアプリケーションの開発を停止する。

 実行中に処理すべきデータ量やコマンド数などが変動し、負荷が大きく変わるアプリケーションもある。例えば金融サービスを扱うアプリケーションは、普段は負荷が安定していても、取引日の終わりに近づくころには負荷が極端に高くなっている恐れがある。税務サービスは申告期限前に負荷がピークに達する可能性があるが、それ以外の期間はほとんど負荷が掛からない。

 開発者は、リソースの使用状況を継続的に監視することで、リソース関連のランタイムエラーを先回りして検出し、軽減しなければならない。その支援ツールとしては、「Java Flight Recorder」「JDK Mission Control」などがある。

 負荷の予測が難しいアプリケーションは、クラウドインフラを使うロードバランサー(負荷分散装置)でリソースを割り当てるとよい。リソース不足になることも、めったに使わないハードウェアを購入する事態に陥る可能性を低減できる。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

ITmedia マーケティング新着記事

news131.jpg

メッシやベリンガム、ヴィルツも登場 アディダスが世界で展開する豪華過ぎるサッカー推しキャンペーンの中身
Adidasが夏のサッカーシーズンに向けて新キャンペーンを世界各地で展開する。デビッド・...

news058.jpg

Web広告施策に課題を感じている企業は9割以上――リンクアンドパートナーズ調査
企業のWeb広告施策を推進している担当者約500人を対象に、課題と今後の取り組みについて...

news183.jpg

TikTokマーケティングの最適解へ スパイスボックスが縦型動画クリエイター集団M2DKと業務提携
スパイスボックスが縦型動画クリエイター集団であるM2DKと業務提携。生活者に向けて訴求...