Skip to content

Instantly share code, notes, and snippets.

@mdkn
Last active November 26, 2017 01:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdkn/536ffb3f594bcfb51e397bddf04f17bf to your computer and use it in GitHub Desktop.
Save mdkn/536ffb3f594bcfb51e397bddf04f17bf to your computer and use it in GitHub Desktop.
『サーバ/インフラを支える技術』メモ
  • 負荷・負荷分散

  • OS

    • ディスクI/Oの分散と軽減
      • キャッシュ
  • ボトルネック

  • Web+DB

  • 推測するな、計測せよ

  • 統計上方

    • top
      • スナップショット
  • 負荷とは何か?

  • ボトルネック見極め

    • ロードアベレージを見る
      • 全体の負荷状況
    • CPU,I/Oのいずれがボトルネックかを探る
      • LAが高い場合
      • CPU
        • ディスクやメモリ容量はボトルネックでない
        • 理想的
        • プログラム暴走
      • I/O
        • 入出力が多い
        • スワップ、ディスクアクセス
          • スワップが発生する場合メモリ割り当てが少ない
  • 2種類の負荷

    • CPU 負荷
      • 計算
      • CPU バウンド
    • I/O 負荷
      • 検索
      • I/O バウンド
  • マルチタスク OS

    • ロードアベレージ
      • 待ちタスク
        • これだけれでCPUかI/Oかは判断できない
  • さらなる調査

    • どの値を見ればOSのボトルネックが判断できるのか。それぞれの値はOSが何を出力した値なのか
    • ロードアベレージが表す「待ちタスク」とは、実際に何を待っているタスクのことなのか
    • 仮にボトルネックがわかったとして、実際にどのプロセスが負荷の原因になっているのか
  • プロセススケジューラー

    • タスクの優先度の決定
  • プロセス

    • オブジェクト
      • プログラムの命令
      • 実行時に必要な情報
  • プロセスの状態

    • プロセスディスクリプタ(task_stract 構造体の state メンバ)
      • CPU が割り当てられるのを待っている状態
      • ディスクの入出力が完了するのを待っている状態
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment