小田圭二のレビュー一覧
-
Posted by ブクログ
パフォーマンスを理解するためには、内部のアーキテクチャーを理解する必要がある
ブラックボックス化が進んでも、パフォーマンスだけは、エンジニアが仕組みを理解して、チューニングすべきである
アルゴリズムの理解:アルゴリズム良し悪しがパフォーマンスを決定する
計算量でアルゴリズムを評価する
レスポンスとスループットは違う。レスポンスは応答時間、スループットは仕事量
主要なアルゴリズム
配列とループ処理
リストとループ処理
探索木
ハッシュ
キュー
スタック
ソート
キャッシュ
ロック
パフォーマンスの改善は、まず測定することから
パフォーマンス情報は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刷 -
Posted by ブクログ
メモリやプロセス、ストレージなど、低いレイヤの話についてわかりやすく記載されています。
図や例えを多用していることで、文字だけを追っていてイマイチイメージが沸かない場合でもすっと頭の中でイメージできるように、工夫をこらしていると感じました。また、DBMS,メモリ、ストレージ、CPU全体の関係を示したランドスケープを示しつつ、今ここの話をしているのですよ、というカタチで随時全体感を意識させながら話を進めている点も良いと思います。
文章も、低レイヤ特有の難しい技術的な言葉や表現は避け、なるべく平易な言葉で表現されています。敢えて厳密な表現を避けているようなところも散見されますが、分かりやすさを重視した結果なのだと思います。
この手の本は分厚くて、難しい表現が多いため、なかなか理解が進まないという方は、是非読んでいただきたい一冊だと思います。 -
Posted by ブクログ
古い版だが読みごたえがある。図解もいい感じ。スレッドやプロセスとして出てくる棒人間・カーネルのあたりが他の本より踏み込んだ感じがして理解しやすい。
・インフラアーキテクチャを見てみよう
・サーバーを開けて見てみよう
・3層階層型システムを見てみよう
・インフラを支える理論の基本
・直列/並列
・同期/非同期
・キュー
・排他制御
・ステートフル/ステートレス
・可変長/固定長
・データ構造(配列と連結リスト)
・探索アルゴリズム(ハッシュ/ツリーなど)
・インフラを支える理論の応用
・キャッシュ
・割り込み
・ポーリング
・ピンポン
・ジャーナリング
・レプリケーション
・マスター・スレーブ
・圧縮
・エラーチェック/誤り訂正
・システムをつなぐネットワークの仕組み
・止めないためのインフラの仕組み
・性能を引き出すためのインフラの仕組み -
Posted by ブクログ
書店で見つけて新装版で発売したてだったので何気なく買った本。
幅広くITインフラについてタイトル通り絵を主体に説明されていてハードウェア寄りの内容が多かったように感じた。
ネットワーク屋としてはあまり接することのない、WEB、アプリ、DBサーバの繋がりについて、これでもかと言うくらい反復して図が出てくるので、頭に自然に入り勉強になった。
インフラ初心者にはなかなか理解することが難しいかもしれないので、ある程度実務経験ある人向け。
自分も読み終えては見たがイマイチわからないところも多々あったし…。もう一度くらいさらっと読み直したほうが良さそう。
システムの全貌についてはまさかのカバーの裏に図が記載されているのだが、読み勧めている途中に何度もカバーを裏返す必要があり、カバーをキレイに読みたい人間にとってはイマイチだったかも。。