# アプリ - モジュール構成 クラス構造 処理シーケンス - 通信処理 通信処理の周辺では性能劣化が多いので事前によく検証すると良い。 - そもそも遅い通信テクノロジに注意 - クライアント - サーバ間のラウンド トリップ - DBアクセスのラウンド トリップの集約方法。 - ディスクI/O ディスクI/Oの周辺では性能劣化が多いので事前によく検証すると良い。 - ページング - インデックス スキャン - 画面 画面の構成 - Web、RichClient - UIの性能劣化 - 一覧ページ制御方式 - Session、ViewState - 描画オブジェクト数 - データアクセス - 過剰なデータ取得 - 最適化不足 - 逐次処理 - 処理方式 - 出力 帳票 印刷 メール - バッチ処理 - 非同期処理 - 非同期処理サービス - 非同期呼出フレームワーク # インフラ - サーバ マシン、 - サーバ負荷分散(垂直分散) - リソース:CPU(コア)数、物理メモリ搭載量、ディスク性能、NIC性能 - ネットワーク機器 - ネットワーク負荷分散(水平分散)Webサーバ、DBサーバ - ネットワーク帯域幅 - ネットワーク品質 - ミドルウェア全般 - キャッシュ サイズ - CPUアフィニティ、NUMA - DB物理設計 - インデックス設計 - データ圧縮 - ファイル分割 - パーティション分割 - DBサーバの水平分散 - 非正規化の検討 - Webサーバ構成 - SSL(HTTPS)・HTTP圧縮( → 必要であればアプライアンス化) - 静的コンテンツのキャッシュ( → 必要であればキャッシュ サーバの導入) - 運用関係の性能チェック(設計&検証) - DB運用関係(SQL Server) - バッチ処理が時間内に終わるか。 - バックアップか時間内に終わるか。 - 上記DB運用系操作 - 障害復旧の時間確認 - 操作訓練 - バックアップ・リストアの時間 - フェイル・オーバ、フェイル・バックの時間 - ウィルススキャン # 負荷テスト