Cosminexus システム設計ガイド
解説書
3020-3-M04-61
目 次
- 前書き
- 変更内容
- はじめに
- 1. Cosminexusのシステム設計の目的と流れ
- 1.1 Cosminexusのシステム設計の目的
- 1.2 システム設計の流れ
- 1.2.1 オンライン処理を実行するアプリケーション(J2EEアプリケーション)の場合
- 1.2.2 バッチ処理を実行するアプリケーション(バッチアプリケーション)の場合
- 2. システム設計の準備
- 2.1 システム設計を始める前に決めておくこと
- 2.2 業務の種類を明確にする
- 2.3 システムの目的に応じたアプリケーションの構成を決める(オンライン処理を実行する業務の場合)
- 2.3.1 動作させるJ2EEアプリケーションの検討
- 2.3.2 使用するプロセスの検討と必要なソフトウェアの準備
- 2.4 システムの目的に応じたアプリケーションの構成を決める(バッチ処理を実行する業務の場合)
- 2.4.1 動作させるバッチアプリケーションの検討
- 2.4.2 使用するプロセスの検討と必要なソフトウェアの準備
- 2.5 運用方法を検討する
- 2.5.1 JP1と連携したシステムの運用
- 2.5.2 クラスタソフトウェアと連携したシステムの運用
- 3. システム構成の検討(J2EEアプリケーション実行基盤)
- 3.1 システム構成を検討するときに考慮すること
- 3.1.1 システムの目的と構成
- 3.1.2 システム構成の設計手順
- 3.1.3 システム構成の考え方
- 3.2 システム構成の説明について
- 3.3 アプリケーションの構成を検討する
- 3.3.1 アプリケーションの構成とアクセスポイント
- 3.3.2 リソースの種類とリソースアダプタ
- 3.4 クライアントとサーバの構成を検討する
- 3.4.1 サーブレットとJSPをアクセスポイントに使用する構成(Webサーバ連携の場合)
- 3.4.2 サーブレットとJSPをアクセスポイントに使用する構成(インプロセスHTTPサーバを使用する場合)
- 3.4.3 Session BeanとEntity Beanをアクセスポイントに使用する構成
- 3.4.4 CTMを使用する場合にStateless Session Beanをアクセスポイントに使用する構成
- 3.5 サーバ間での連携を検討する
- 3.5.1 Session BeanとEntity Beanを呼び出すサーバ間連携
- 3.5.2 CTM経由でStateless Session Beanを呼び出すサーバ間連携
- 3.6 トランザクションの種類を検討する
- 3.6.1 ローカルトランザクションを使用する場合の構成
- 3.6.2 グローバルトランザクションを使用する場合の構成
- 3.6.3 トランザクションコンテキストのプロパゲーションを使用する場合の構成
- 3.7 ロードバランスクラスタによる負荷分散方式を検討する
- 3.7.1 Webサーバ連携時の負荷分散機を利用した負荷分散(サーブレット/JSPの場合)
- 3.7.2 インプロセスHTTPサーバ使用時の負荷分散機を利用した負荷分散(サーブレット/JSPの場合)
- 3.7.3 CORBAネーミングサービスを利用した負荷分散(Session BeanとEntity Beanの場合)
- 3.7.4 CTMを利用した負荷分散(Stateless Session Beanの場合)
- 3.8 サーバ間で非同期通信をする場合の構成を検討する
- 3.8.1 Message-driven Beanをアクセスポイントに使用する場合の構成(TP1/Message Queueを使用する場合)
- 3.8.2 Message-driven Beanをアクセスポイントに使用する場合の構成(Cosminexus RMを使用する場合)
- 3.8.3 Message-driven Beanのインスタンスプールを利用した負荷分散(TP1/Message Queueを使用する場合)
- 3.9 運用管理プロセスの配置を検討する
- 3.9.1 運用管理サーバにManagement Serverを配置する構成
- 3.9.2 マシン単位にManagement Serverを配置する構成
- 3.9.3 コマンドで運用する場合の構成
- 3.10 SFOサーバを使用したセッション情報の引き継ぎを検討する
- 3.10.1 SFOサーバがシステムに複数存在する構成
- 3.10.2 SFOサーバがシステムに一つだけ存在する構成
- 3.11 クラスタソフトウェアを使用した障害時の系切り替えを検討する
- 3.11.1 アプリケーションサーバの実行系と待機系を1:1にする構成(トランザクションサービスを使用しない場合)
- 3.11.2 アプリケーションサーバの実行系と待機系を1:1にする構成(トランザクションサービスを使用する場合)
- 3.11.3 運用管理サーバの実行系と待機系を1:1にする構成
- 3.11.4 アプリケーションサーバの実行系と待機系を相互スタンバイにする構成
- 3.11.5 リカバリ専用サーバを使用する場合の構成(N:1リカバリシステム)
- 3.12 ファイアウォールを使用する構成を検討する
- 3.12.1 サーブレットとJSPに対するファイアウォールの配置
- 3.12.2 Session BeanとEntity Beanに対するファイアウォールの配置
- 3.12.3 リソースマネジャに対するファイアウォールの配置
- 3.13 DMZへのリバースプロキシの配置を検討する
- 3.13.1 Webサーバ連携時のリバースプロキシの配置
- 3.13.2 インプロセスHTTPサーバ使用時のリバースプロキシの配置
- 3.14 性能解析トレースファイルを出力するプロセスを配置する
- 3.15 Cosminexus以外の製品との連携を検討する
- 3.15.1 JP1を使用して運用する場合の構成
- 3.15.2 CTMゲートウェイ機能を利用してEJBクライアント以外からStateless Session Beanを呼び出す構成
- 3.16 任意のプロセスを運用管理の対象にする
- 3.17 そのほかの構成を検討する
- 3.17.1 Webサーバとアプリケーションサーバを異なるマシンに配置する構成
- 3.17.2 リダイレクタを利用して負荷分散する構成
- 3.17.3 CORBAネーミングサービスをアウトプロセスで起動する構成
- 3.18 Cosminexusのプロセスが使用するTCP/UDPのポート番号
- 4. システム構成の検討(バッチアプリケーション実行基盤)
- 4.1 システム構成を検討するときに考慮すること
- 4.1.1 システムの目的と構成
- 4.1.2 システム構成の設計手順
- 4.1.3 バッチサーバが使用するTCP/UDPのポートについての注意事項
- 4.2 バッチサーバを使用する場合のシステム構成
- 4.2.1 システム構成の特徴
- 4.2.2 それぞれのマシンに必要なプロセスとソフトウェア
- 5. セキュアなシステムの検討
- 5.1 セキュアなシステムの検討の概要
- 5.2 セキュアなシステムの構成の検討
- 5.3 システムの使用者の検討
- 5.4 システムが扱う資産の検討
- 5.5 セキュアなシステムの前提条件の確認
- 5.5.1 物理的な前提条件
- 5.5.2 運用上の前提条件
- 5.6 想定される脅威の分析
- 5.7 対策の検討
- 5.7.1 前提条件に対して実施する対策
- 5.7.2 想定した脅威に対して実施する対策
- 5.7.3 対策を実施したセキュアなシステムの動作
- 5.8 作業手順の検討
- 5.8.1 作成する作業手順書の概要
- 5.8.2 システムの構築手順の検討
- 5.8.3 システムの再構築手順の検討
- 5.8.4 システムの運用手順の検討
- 5.9 システムの監査方法の確認
- 5.9.1 監査ログの入手
- 5.9.2 監査ログの調査
- 5.10 外部ネットワークを使用するシステムでのセキュリティの検討
- 5.10.1 外部ネットワークを使用するシステムで想定されるセキュリティ上の脅威
- 5.10.2 ファイアウォールと侵入検知システムを配置する
- 5.10.3 SSLアクセラレータを使用して暗号通信を処理する
- 5.10.4 アプリケーションでユーザを認証する
- 6. パフォーマンスチューニング(J2EEアプリケーション実行基盤)
- 6.1 パフォーマンスチューニングで考慮すること
- 6.1.1 パフォーマンスチューニングの観点
- 6.1.2 チューニング手順
- 6.1.3 アプリケーションの種類ごとにチューニングできる項目
- 6.2 チューニングの方法
- 6.3 同時実行数を最適化する
- 6.3.1 同時実行数制御および実行待ちキュー制御の考え方
- 6.3.2 最大同時実行数と実行待ちキューを求める手順
- 6.3.3 Webサーバでのリクエスト処理スレッド数を制御する
- 6.3.4 Webアプリケーションの同時実行数を制御する
- 6.3.5 Enterprise Beanの同時実行数を制御する
- 6.3.6 CTMを使用して同時実行数を制御する
- 6.3.7 同時実行数を最適化するためのチューニングパラメタ
- 6.4 Enterprise Beanの呼び出し方法を最適化する
- 6.4.1 ローカルインタフェースを使用する
- 6.4.2 リモートインタフェースのローカル呼び出し最適化機能を使用する
- 6.4.3 リモートインタフェースの参照渡し機能を使用する
- 6.4.4 Enterprise Beanの呼び出し方法を最適化するためのチューニングパラメタ
- 6.5 データベースへのアクセス方法を最適化する
- 6.5.1 コネクションプーリングを使用する
- 6.5.2 ステートメントプーリングを使用する
- 6.5.3 データベースへのアクセス方法を最適化するためのチューニングパラメタ
- 6.6 タイムアウトを設定する
- 6.6.1 タイムアウトが設定できるポイント
- 6.6.2 Webフロントシステムでのタイムアウトを設定する
- 6.6.3 バックシステムでのタイムアウトを設定する
- 6.6.4 トランザクションタイムアウトを設定する
- 6.6.5 データベースでのタイムアウトを設定する
- 6.6.6 J2EEアプリケーションのメソッドタイムアウトを設定する
- 6.6.7 タイムアウトを設定するチューニングパラメタ
- 6.7 Webアプリケーションの動作を最適化する
- 6.7.1 静的コンテンツとWebアプリケーションの配置を切り分ける
- 6.7.2 静的コンテンツをキャッシュする
- 6.7.3 リダイレクタによってリクエストを振り分ける
- 6.7.4 Webアプリケーションの動作を最適化するためのチューニングパラメタ
- 6.8 CTMの動作を最適化する
- 6.8.1 CTMドメインマネジャおよびCTMデーモンの稼働状態の監視間隔をチューニングする
- 6.8.2 負荷状況監視間隔をチューニングする
- 6.8.3 CTMデーモンのタイムアウト閉塞を設定する
- 6.8.4 CTMで振り分けるリクエストの優先順位を設定する
- 6.8.5 CTMの動作を最適化するチューニングパラメタ
- 6.9 そのほかの項目のチューニング
- 7. パフォーマンスチューニング(バッチアプリケーション実行基盤)
- 7.1 パフォーマンスチューニングで考慮すること
- 7.1.1 パフォーマンスチューニングの観点
- 7.1.2 チューニング手順
- 7.1.3 チューニング項目
- 7.2 チューニングの方法
- 7.2.1 バッチサーバのチューニング
- 7.2.2 リソースのチューニング
- 7.3 タイムアウトを設定する
- 7.3.1 タイムアウトが設定できるポイント
- 7.3.2 トランザクションタイムアウトを設定する
- 7.3.3 タイムアウトを設定するチューニングパラメタ
- 7.4 ガーベージコレクション制御で使用するしきい値を設定する
- 7.4.1 しきい値を設定する目的
- 7.4.2 しきい値設定の考え方
- 7.4.3 ガーベージコレクション制御で使用するしきい値を設定するためのチューニングパラメタ
- 8. JavaVMのチューニング
- 8.1 ガーベージコレクションとJavaVMのメモリ管理の概要
- 8.1.1 ガーベージコレクションの仕組み
- 8.1.2 JavaVMで使用するメモリ空間の構成とJavaVMオプション
- 8.1.3 ガーベージコレクションの発生とメモリ空間の関係
- 8.2 JavaVMのチューニングの考え方と手順
- 8.2.1 チューニングの考え方
- 8.2.2 メモリサイズの見積もり手順
- 8.2.3 メモリサイズの設定方法
- 8.2.4 メモリサイズの使用状況の確認方法
- 8.3 Tenured領域のメモリサイズの見積もり
- 8.3.1 アプリケーションで必要なメモリサイズの算出
- 8.3.2 DefNew領域のメモリサイズを追加する理由
- 8.4 DefNew領域のメモリサイズの見積もり
- 8.4.1 DefNew::Survivor領域のメモリサイズの見積もり
- 8.4.2 DefNew::Eden領域のメモリサイズの見積もり
- 8.5 一定期間存在するオブジェクトの扱いの検討
- 8.5.1 DefNew領域に格納する方法
- 8.5.2 Tenured領域に格納する方法
- 8.6 Javaヒープの最大サイズ/初期サイズの決定
- 8.7 Permanent領域のメモリサイズの見積もり
- 8.8 拡張verbosegc情報を使用したフルガーベージコレクションの要因の分析方法
- 8.8.1 拡張verbosegc情報の出力形式の概要
- 8.8.2 フルガーベージコレクション発生時の拡張verbosegc情報の出力例
- 付録
- 付録A ベーシックモードの利用(互換機能)
- 付録A.1 パフォーマンスチューニング
- 付録B サーブレットエンジンモードの利用(互換機能)
- 付録B.1 システム構成の設計
- 付録B.2 パフォーマンスチューニング
- 付録C 推奨手順以外の方法でパフォーマンスチューニングをする場合のチューニングパラメタ
- 付録C.1 同時実行数を最適化するためのチューニングパラメタ(推奨手順以外の方法)
- 付録C.2 Enterprise Beanの呼び出し方法を最適化するためのチューニングパラメタ(推奨手順以外の方法)
- 付録C.3 データベースへのアクセス方法を最適化するためのチューニングパラメタ(推奨手順以外の方法)
- 付録C.4 タイムアウトを設定するチューニングパラメタ(推奨手順以外の方法)
- 付録C.5 Webアプリケーションの動作を最適化するためのチューニングパラメタ(推奨手順以外の場合)
- 付録C.6 CTMの動作を最適化するチューニングパラメタ(推奨手順以外の方法)
- 付録C.7 Persistent Connectionについてのチューニングパラメタ(推奨手順以外の方法)
- 付録C.8 バッチサーバのフルガーベージコレクションを発生させるしきい値を設定するためのチューニングパラメタ(推奨手順以外の方法)
- 付録D (3020-3-M04-61)の変更内容
- 付録E 用語解説
- 索引
All Rights Reserved. Copyright (C) 2006, 2008, Hitachi, Ltd.