Advanced Server-side ProgrammingシリーズJ2EE パフォーマンスチューニング徹底解説
2003年4月12日紙版発売
日立ソフトウェアエンジニアリング(株)インターネットビジネス部 紀平篤志,河村嘉之,北林拓丈,阿川典夫 著
B5変形判/312ページ
定価3,828円(本体3,480円+税10%)
ISBN 4-7741-1713-7
書籍の概要
この本の概要
本書は今話題のWebシステムのパフォーマンスチューニングについて,単なるJavaプログラミングやツールの解説ではなく,基本的な知識からJavaプログラミングで注意すべきパフォーマンス観点,ボトルネック,システムのチューニング手法など,多岐に渡って解説するものです。先人の知恵が詰まった,現場ですぐに役立つ一冊です。
こんな方におすすめ
- J2EE開発者
- Webサーバ管理者
著者の一言
Webシステムのパフォーマンスチューニングに悩んでいませんか? 本書は,Javaプログラマの方だけでなく,WebサーバやWebアプリケーションサーバのシステムチューニングを行われるSEの方まで読んでいただける本を目指しました。とにかくすぐに使えるTipsをたくさん載せましたので,ぜひとも活用していただけたら幸いです。
目次
第1章 システムのパフォーマンス
- 究極のパフォーマンスチューニング
- Webシステムの現状
第2章 パフォーマンスチューニングの知識
- パフォーマンスがいいということは?
- スループットとレスポンスタイム
- スループットの目標設定
- サーバ台数の求め方
- ボトルネックとは?
- ボトルネックの例
- パフォーマンスチューニングとは?
- パフォーマンスチューニングのケーススタディ
- パフォーマンス研究会の取り組み
第3章 パフォーマンスチューニング
- Webシステムの処理要素
- Webブラウザ
- ユーザ側回線
- インターネット
- Webサーバ
- プラグインからの転送
- Webコンテナ
- リモート呼び出し(RMI/IIOP通信)
- EJBコンテナ
- JDBC
- データベースサーバ
- アプリケーションプログラムの分析
- 並行処理関連のパフォーマンス分析とチューニング
- Webサーバだけの構成
- Webアプリケーションサーバとデータベースサーバを加えた構成
- 各サーバのチューニング要素
第4章 パフォーマンスチューニングの実践
- アプリケーションのボトルネックを分析する
- コードレビューツールによる分析
- パフォーマンスチューニングのサイクル
- 負荷測定のサイクル
- 負荷測定の実施時期
- 負荷測定ツールの使用
- ツール概要(オープンソース)
- ツール概要(パッケージソフト)
- 負荷測定項目
- 負荷測定シナリオの決定
- 性能目標の決定
- テスト用データの作成
- 負荷測定テストの実施
- テスト1
- テスト2
- ボトルネックの例
- ボトルネックの検討
- ボトルネックの特定
- ボトルネックに対してのチューニング
- サーバ設定パラメータのチューニング
- DBアクセスのチューニング
- 再テスト測定結果検証
第5章 パフォーマンスチューニングHints&Tips
- Javaプログラミング〜基本編〜
- 1.文字列の連結にはStringBufferクラスを使用する
- 2.入出力処理にはバッファリングを行うクラスを使用する
- 3.無駄なオブジェクト生成を減らす
- 4.コレクションクラスと配列
- 5.Vectorクラスでのオブジェクト取得メソッド
- 6.配列のコピーにはarraycopyメソッドを使用する
- 7.メソッドのインライン化を行う
- 8.過度な同期化(synchronizedブロック)を避ける
- 9.ロギング処理のコストを減らす
- 10.ループの終了条件はローカル変数にコピーする
- 11.判定ロジック部分を例外処理で置換する
- Javaプログラミング〜サーブレット編〜
- 12.HttpSessionに必要以上に大きなオブジェクトや大量のオブジェクトをバインドしない
- 13.スレッドセーフでの同期の範囲
- 14.サーブレットでの同期の範囲
- 15.SinbleThreadModelを使用しない
- 16.データベースへの接続はDB接続プールを利用する
- 17.DB接続プールから獲得したDB接続は確実にcloseする
- 18.時間がかかる処理はHttpServletのinitメソッドで行う
- Javaプログラミング〜EJB編〜
- 19.大量データ検索型のアプリケーションは,どのようにEJBで実装すべきか
- 20.多くのデータに変更を加える処理をどのようにEJBで実装するか?
- 21.多くの属性を持つEntity Beanのうち,かぎられた属性しか使用しない場合の設計/実装テクニックと効果
- 22.EJBとのアクセスはどの程度の粒度にするべきか?
- 23.どのようにEntity BeanのPrimarykeyを作成するべきか
- 24.CMP vs.BMPどういう処理でどちらがどの程度有利か
- 25.Stateless Session Bean vs.Stateful Session Bean,どういう処理でどちらがどの程度有利か
- 26.Stateless Session Beanのremote objectを毎度removeすべきかどうか
- 27.EJBの例外処理について
- 28.Homeオブジェクトのキャッシュについて
- プログラムデザイン〜J2EEパターンによる課題の解決〜
- 29.JNDIを使用したルックアップを効率化する
- 30.業務ロジックで発生するリモート呼び出しの回数を削除する
- 31.EJBとのデータ値の受け渡しを効率化する
- 32.複数のEJBとの値の受け渡しを効率化する
- 33.検索結果のリストの受け渡しを効率化する
- 34.粗粒度のEJBを設計するには
- プログラムデザイン〜フレームワーク〜
- 35.Sturtsフレームワーク
- デプロイメント
- 36.分離レベル
- 37.EJBキャッシュサイズ
第6章 EJBの適用範囲
- データソースへのアクセス
- クライアントとの対話状態の保持
- プログラムの非同期呼び出し
第7章 付録A パフォーマンスチューニングツール
- 負荷テストツール
- プロファイラツール
- DBチューニングツール
- コーレビュー支援
- ネットワーク関連/その他
第8章 付録B J2EEパターン
- 1.Service Locator
- 2.Session Facade
- 3.Value Oject
- 4.Value Object Assembler
- 5.Value List Handler
- 6.Aggregate Entity
この本に関連する書籍
-
サン・マイクロシステムズ技術者認定試験 J2EEラーニングブック Web Component Developer for J2EE Platform 編
サン・マイクロシステムズ技術者認定試験(Web Component Developer for J2EEPlatform)の対策書です。最新の情報に基づき,合格するために必須の問題および知識を盛り...
-
詳解 Sun ONE Application Server7 パーフェクトガイド
Sun One AS7はJ2EEベースのアプリケーションサーバであり,Javaを生んだサン・マイクロシステムズ社が提案するWebシステムソリューションです。本書ではSun ONE AS7の概...
-
J2EEプログラマのためのEJBパーフェクトガイド
J2EE関連技術の中でも最も重要とされているEJB(EJB)は,大規模基幹業務だけでなく,中小規模のWebアプリケーション開発においてもその威力を発揮します。本書はコンポ...
-
改訂新版 サーブレットではじめる Javaサーバサイドプログラミング
2001年に発売され,大好評を博した原田洋子氏によるサーバサイドJava本がついに改訂です。改訂版ではJakartaプロジェクトのVelocityを利用した,効率的でなおかつセキュ...
-
逆引き サーブレット&JSP リファレンス
いま注目のサーバサイドJavaに,やりたいことからさっと引ける手軽なリファレンスがついに登場!項目単位で簡明な説明とすぐに使えるサンプルコードを多数掲載.運用面...