Javaの「Stop The World」を回避する現実解:Cosminexus V8 Review
Webシステムの停止をもたらすFull GCを防ぐ手法、それは「長時間使うインスタンス専用の特別な管理領域を持つ」というものである。
前回までのおさらい
Javaには、メモリの解放を自動で行ってくれる、ガベージコレクション(GC)という便利な機能がある。しかし注意しないと、メモリ領域の再編成に必要なFull GCが頻繁に発生してしまい、業務実行が一時的に停止してしまう。この停止が長い時間におよぶと、Webシステム利用者にはシステムがダウンしたように見えてしまう。
前回は業務実行が一時的に停止してしまう仕組みを説明し、またCosminexus V8では、その解決策となる機能が実装されているところまで紹介した。今回は、その一時停止の原因となるFull GCをどのように解決しているかについて解説する。
解決策は新しいメモリ管理方式にある
既に解説したとおり、Full GCの発生は、長時間使うインスタンスがOld領域に移動し続けるため、その領域をGCする必要があることに原因が求められる。このため、長時間使うインスタンスを生成させなければ、Full GCの発生を根本的に防止できる。しかし、長時間使うインスタンスが必要であれば、防ぎようがない。
そこで、Cosminexusにおいて採られたのは「長時間使うインスタンス専用の特別な管理領域を持つ」という回避策である。
この「特別な管理領域」をFull GCの発生原因となるOld領域から切り離せば、Old領域のインスタンス増加を防げる。そして特別な管理領域については、アプリケーションサーバの内部でインスタンスの生成と削除を行ってしまえば、Full GCを発生させずにインスタンスを削除できる。
アプリケーションサーバーとJava VMの連携
ほかにも工夫されている点がある。それはアプリケーションサーバとJava VMが連携しているということだ。例えば、アプリケーションサーバのクライアントから行う「ログインからログアウトまでの1つのセッション」の管理情報は、長時間使うインスタンスになりやすい。そこでCosminexusでは、このセッション管理情報を特別な管理領域に格納することにした。
これにより業務アプリケーションは、特別な管理領域を全く意識する必要がなくなる。もちろん業務アプリケーションの変更も不要である。そのため、ほかのアプリケーションサーバで動作していた業務アプリケーションからも、スムーズに移行できる。
30日間の無停止運転
最後に、セッションを使用するオンラインバンク業務のシステムで検証した結果を紹介する。今までFull GCが日中1時間に1回の割合で発生していたケースにおいて、適用後には30日連続稼働してもシステム停止が発生しなくなった。もちろん業務アプリケーションに変更は加えていない。従来のアプリケーションがそのまま利用できたことが証明された。
従来システムでは日中1時間ごとにメモリを100%消費していたのに対し、Cosminexus V8に変更後,安定して稼働するようになった。次回は、アプリケーションの安定稼働を可能にする、業務の多重度制御や障害の局所化について解説したい。
関連記事
- Cosminexus V8 Review:時間よ、止まるな!――Javaにおけるメモリ管理という課題
運用現場で悩みのタネになっているのが、突然発生するJavaアプリケーションの“Stop The World(一定時間応答のない状態)”である。解決の方法はあるのだろうか? - 日立ソフト、社内営業情報システムをSOAで構築 複数システムの連携が実現
SalesforceなどのシステムをSOAで連携し、散在していた営業情報を有効活用できるシステムを日立ソフトが構築した。SOA基盤には、日立の「uCosminexus Service Platform」を活用した。 - Cosminexus V8 Review:ユーザー側からの業務カイゼンを促がすSOA基盤
Cosminexus(コズミネクサス)とは日立が提供するWebアプリケーションサーバやSOA基盤を総称するブランド名だ。先日発表されたV8で強化されたポイントを詳解する。 - AdminIT Daily News:現場知とシステムの融合がコンセプト――日立「Cosminexus V8」
日立は10月2日、同社のSOA基盤製品「Cosminexus」の最新版を発表した。これまで属人的だったノウハウとシステムの融合を通じ、システム構築の“工業化”を図る。 - 日立のCosminexus、情報基盤強化税制の優遇対象製品に認定
日立製作所はCosminexusが「連携プログラム技術評価制度」において初めての適合製品に認定されたと発表した。 - HITACHI Open Middleware World 2008 Report:グリーンITの決め手は運用管理
グリーンITを実現するには、省電力のハードウェアに買い換える前に、使い方そのものを工夫することで多くの部分が改善されるという。 - 日立、メインフレーム後継機となるエンタープライズサーバとOSを発売
日立は、メインフレーム後継機となるエンタープライズサーバ「AP8800」とOS「VOS3/US」を発売する。 - エンタープライズ2.0時代の到来:企業を取り巻く2.0はどこへ向かうのか?
エンタープライズ2.0はどのような意味を持つのか。そしてどこへ向かうのか。企業から寄せられたアンケート結果とともに、意味を探ろう。 - レガシーはSOAでこそ生かすもの――日立、Cosminexusの堅い選択
帳票データ処理を始めとするメインフレーム運用は、現代でも不可欠なもの。レガシーなシステムとSOAを共存させるためには、統合基盤が必要となる。日立は、新たなリリースとなるCosminexusで相互運用性の核心へと向かう。 - SOAへの対応をさらに強化したCosminexusを発売――日立製作所
日立製作所は6月5日、統合システム構築基盤「Cosminexus」の新バージョンの発売開始を発表した。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.