カテゴリー: パフォーマンス

データアクセスパスのパターン化
2023年8月23日デザインパターンというものがある。classをデザインするときのパターンを汎化してまとめたものである。多くのデザインがこのパターンのどれかに近いもので実現できる。 データアクセスパスも同じようにパターンを型として理解しておけば、その型をベースに多様な状況に対応できる。 下記にデータアクセスをパターン化して型として整理する。 概要(型の使い方) 1.アクセスパターン 参考)サイジング:ストレージ 2 […]

DB実行計画の”コスト”の考え方を理解する
2023年7月23日Index コストの目的 コストの使い方(概要) コストの使い方(詳細) 実際のデータベースでのコストの例 参考(Postgresqlのマニュアルから抜粋)データベースの実行計画のマニュアルや解説で下記の図のようなコストという概念が出て来る。私はデータベースの実行計画を勉強し始めたころ、こ […]

CPU、ストレージ、NWの処理時間を”体系的”に理解する
2023年7月22日システムの処理時間はCPU、ストレージ、ネットワークの処理時間の合計である。それぞれの処理時間の規模感が理解できるとパフォーマンスチューニングでどこがボトルネックか判断できるようになる。 例えば、DBからのレスポンスタイムが3秒だったとき、「CPUで数マイクロ秒、IOで数秒、NWで数ミリ秒でほとんどがIOの処理時間だろう」というように規模感がわかればどこにフォーカスするべきか判断できる。また、実測 […]