【感想・ネタバレ】絵で見てわかるシステムパフォーマンスの仕組みのレビュー

\ レビュー投稿でポイントプレゼント / ※購入済みの作品が対象となります
レビューを書く

感情タグBEST3

Posted by ブクログ 2023年08月29日

パフォーマンスを理解するためには、内部のアーキテクチャーを理解する必要がある

ブラックボックス化が進んでも、パフォーマンスだけは、エンジニアが仕組みを理解して、チューニングすべきである

アルゴリズムの理解:アルゴリズム良し悪しがパフォーマンスを決定する
計算量でアルゴリズムを評価する
レスポンス...続きを読むとスループットは違う。レスポンスは応答時間、スループットは仕事量
主要なアルゴリズム
 配列とループ処理
 リストとループ処理
 探索木
 ハッシュ
 キュー
 スタック
 ソート
 キャッシュ
 ロック

パフォーマンスの改善は、まず測定することから
 パフォーマンス情報は3種
 合計(サマリ形式)
 ログ(イベント記録方式)
 スナップショット(瞬間の状況把握)

トラブルの最初の切り分けは、どこで問題が起きているか
 キュートスレッド
 平均待ち時間 ランダム呼 M/M/1
OS Linux sar,vmstat,ps,netstat,iostat,top,wireshark,tcpdump,pstack
Windows タスクマネジャー、パフォーマンスモニター、リソースマネジャー
 アプリ Webサーバ、APサーバ、DBサーバ、ストレージ、ネットワーク

チューニングは、アルゴリズム、アーキテクチャーを理解して分析ができれば、定石のテクニックを使う
 無駄をできるだけなくす
 インデックス
 まとめて処理する
 再処理する
 高速化と並列化
 スケールアップ(CPU追加、クロックアップ)と、スケールアウト(別サーバを追加)
 局所性
 ・ループの省略、キャッチボールの削減
 ・参照頻度が高いデータは、キーバリューストア化、ハッシュ化
 ・同期を非同期に
 ・帯域制御
 ・負荷分散、ラウンドロビン 等

パフォーマンステスト
 ・時間内におわらない
 ・パフォーマンスがでない
 ・本番環境では問題が発生
 ・負荷シナリオに不備
 ・バッファ・キャッシュの利用を想定しなかった
 ・シンクタイム

パフォーマンステストの種類
 ・限界テスト(最低パフォーマンス、最大パフォーマンス)
 ・縮退運転
 ・基盤パフォーマンス
 ・アプリ単体パフォーマンス
 ・耐久テスト

工程管理とパフォーマンス
 要件定義 スループット、レスポンスタイム、ユーザ多重度
 基本設計 システム選定、パフォーマンステスト環境、パフォーマンス設計
 パフォーマンステスト設計 テストスケジュール、人員手配、連絡体制
 基盤結合テスト 基盤パフォーマンステスト
 結合テスト 多重実行テスト
 総合テスト 負荷テスト、限界テスト、耐久テスト
 運用テスト パフォーマンス監視テスト、障害テスト

CONTENTS

はじめに
【第1章】パフォーマンスの基礎的な考え方
1.1 パフォーマンスを学ぶために必要なこと
1.2 アルゴリズムのメリット/デメリットと学習法
1.3 アルゴリズムの実例とパフォーマンスの違い
1.4 レスポンスとスループットの違い
1.5 アルゴリズムの具体例

【第2章】パフォーマンス分析の基本
2.1 パフォーマンスの第一歩は測定から
2.2 必要なパフォーマンス情報とは
2.3 パフォーマンス分析で重要な理論
2.4 OSのコマンド

【第3章】実システムのパフォーマンス分析
3.1 Web/APサーバとJava/Cアプリ
3.2 DBサーバのパフォーマンス測定
3.3 ストレージのパフォーマンス分析の考え方
3.4 ネットワークのパフォーマンス分析の考え方
3.5 原因調査

【第4章】パフォーマンスチューニング
4.1 パフォーマンスとチューニング
4.2 パフォーマンスチューニングの定石
4.3 現場で用いられるテクニック
4.4 実際の業務で遭遇するパフォーマンス
4.5 チューニングの例

【第5章】パフォーマンステスト
5.1 パフォーマンステストの概要
5.2 よくある失敗:9つのアンチパターン
5.3 パフォーマンステストの種類
5.4 プロジェクト工程で考えるパフォーマンステスト
5.5 パフォーマンステストの課題と必要ノウハウ

【第6章】仮想化環境におけるパフォーマンス
6.1 仮想化とパフォーマンス
6.2 仮想化概要
6.3 サーバ仮想化の主な技術(オーバコミット)
6.4 仮想化環境のパフォーマンスの考え方と分析方法

【第7章】クラウド環境におけるパフォーマンス
7.1 クラウド環境におけるパフォーマンスの考え方
7.2 クラウドとオンプレミスの違い
7.3 クラウド環境の内部構造と最適なアプリケーション方式
7.4 クラウド環境におけるパフォーマンス分析の仕方
7.5 クラウド環境での開発フェーズのアプローチ
7.6 クラウド環境での運用フェーズのアプローチ

参考文献
索引

ISBN:9784798134604
出版社:翔泳社
判型:A5
ページ数:336ページ
定価:2580円(本体)
発売日:2014年06月20日初版第1刷

0

Posted by ブクログ 2019年07月13日

主にサーバ観点でのパフォーマンス管理だが、考え方や手法の選択肢を広げるという意味で組込業界でも応用できそう。
特にパフォーマンス計測データをサマリ形式、スナップショット形式、イベント記録形式に分類して使い分ける考え方は、非常に勉強になった。なんとなくやっていた使い分けを、すっきりと言語化してくれてい...続きを読むるので、人と議論するときの参考にもできそう。

0

Posted by ブクログ 2015年08月15日

ありそうでなかった本かなと。
DB関連はよくパフォーマンスの話を扱う本がありますが、全体的に扱っている本は数すくない、しかも和書で。こういう形でまずは全体を把握し、より詳細なパフォーマンスチューニングを学ぶために、詳細なことをまとめた本読む、というのがいいかな、と思います。いい本でした。

0

Posted by ブクログ 2021年02月23日

システムパフォーマンスについて知りたく手に取りました。

プロジェクトによってシステムパフォーマンスについて調査方法に偏りがあり、そんなものなのかなと思っていました。

この書籍を通して、システムパフォーマンスの課題とアプローチ、その考え方について論が展開されていくので理解を深めることができました。...続きを読む

また、基本情報技術者試験で概説を学んだときに利用シーンが上手く描けていないところがありましたが、鮮明にイメージすることができるようになりました。

0

Posted by ブクログ 2020年04月05日

主にサーバ周りのパフォーマンスについて書かれている印象だった。あまり特定の技術や製品については書かれておらず、基本的な考え方なんかを基礎から説明する感じになっている。

「第6章 仮想化環境におけるパフォーマンス」、「第7章 クラウド環境におけるパフォーマンス」が良かった。これまでのオンプレ環境と比...続きを読む較してどう変わるのか、何が良くなるのかがざっと説明されている。

システムを見ていると、ある対策を打つためにその理由、有効性、デメリットなどを説明して理解を得る必要がある。自分の中で理解できていても、なかなかうまく説明するのは難しい。こういう言語情報を仕入れておくと、人に伝えるのがやりやすくなる気がする。

0

Posted by ブクログ 2015年02月16日

パフォーマンスに関する基礎的な知識が体系だって整理されており、基本は大変理解しやすい。関連する業務に関わる時に、考え方の整理やリファレンスとして役に立ちそう。後半は割と具体的なので、こちらは多少とも経験がないと辛いかもしれないが。

0
ネタバレ

Posted by ブクログ 2014年08月09日

システムのパフォーマンスはアプリケーションからサーバーまでを俯瞰してみないといけない。アルゴリズムも大切。

木を見て森を見ずではないですが、日々のモニタリングから測定値の異常を見つけるのは経験の様な気もします。本書は計測に関するツールの紹介もしてくれますが、わたしの様な未熟なエンジニアには敷居が高...続きを読むい気もしました。早く本書が理解できる身分になりたい。

0

「IT・コンピュータ」ランキング