大規模化・安定稼働・開発効率化…Webシステム開発・運用を乗り切るテクニック

第1回 チューニング① 多重度・流量制御の最適化

この記事を読むのに必要な時間:およそ 3.5 分

テスト環境と実稼働環境での検証

アプリケーションの修正も完了し,テスト環境でチューニングとテストを終えて実稼働環境に移行するには,実稼働環境でもテスト環境と同じ手順で環境を構築しなければならないのが通例です。また,実稼働環境でテストする際,通常はシステム全体を停止しなければならないため,オンライン業務が稼働していない時間帯に実施するか,テストの実施中は業務を停止せざるをえません。

Cosminexusでは各種パラメータを「環境定義ファイル」としてエクスポート/インポート可能であり,テスト環境からエクスポートした定義ファイルを用いて実運用環境にインポートして構築できます。環境定義ファイルを用いた環境の構築はコマンド1つで実施できるため,手作業での再構築とは異なり,確実かつスムーズな移行が少ない工数で済みます。

さらに,業務の稼働中でもテストが可能な「テストモード」という機能を備えており,実稼働環境でのテストを通じてアプリケーション入れ替え時のトラブルリスクを低減できます。APサーバのテストモードでデプロイすると自動的にオンラインアプリケーションとは別名で登録するため,実稼働環境に影響を及ぼすことなくテストできるのです。

また,アプリケーションの入れ替え作業は動的に可能でシステムを停止する必要がないため,実稼働環境の稼働中でも実施できます。

障害原因の特定における負荷の軽減

設計・開発・検証・運用の,どこの段階においてもシステムで障害が生じた場合,その原因を特定して適切に対処することが肝要です。ごく当たり前のこととは言え,現実的にはさまざまな困難がつきまといます。原因特定や対策の検証にはテストが欠かせませんが,その作業は大きな負担になりがちです。しかし,障害原因を特定するための再現テストが不要なら,負担をかなり軽減できます。

Cosminexusの場合は「PRFトレース」というログによって状況を把握し原因を特定できるため,再現テストは不要です。このトレースログではセッションごとにユニークなIDを付加しており,これを追うことでトラブルの原因がAPサーバなのかDBサーバなのか,あるいはクライアント-サーバ間の通信網にあるのかを容易に特定できます。PRFトレースログの出力,およびユニークID付加はデフォルトで備えている機能であり,システムに対するオーバヘッドは極小です図7⁠。

図7 ブラウザからサーバまで一貫した性能分析を可能に

図6 ブラウザからサーバまで一貫した性能分析を可能に

また,Cosminexusは性能に影響をほとんど与えずに詳細な各種稼動情報ログを出力できるのが特長です。そのため,他のAPサーバからCosminexusに乗り換えたユーザは,そのログの量に驚くことが多いようです。しかしこれは,ミッションクリティカルなメインフレームのシステムで培ってきたノウハウをCosminexusに継承しているためで,これらログによって再現テストを行うことなく障害原因の特定が可能となり,システムの高い信頼性と可用性の実現につながっています。

次回予告

本連載の次回では,Java VM(Virtual Machine)のメモリ管理機能であるガベージコレクション(GC⁠⁠,日本語処理における課題を中心に,JavaVMにおけるメモリ管理技術について解説します。