第2回 大規模Webサービスの開発オリエンテーション (大規模サービス技術入門)
読書
Published: 2019-11-24

Web開発者のための大規模サービス技術入門の読書メモです。

大規模データの難しさ

第一のポイント「メモリ内で計算できない」という点

メモリはディスクの10^5 ~ 10^6以上高速

hdparm 転送速度の差が分かる

ボトルネック見極め作業の基本的な流れ

  • ロードアベレージを見る
  • CPU、I/Oのいずれかがボトルネックかを探る

ロードアベレージを見る

システム全体の負荷状況を示す指標

CPU、I/Oのいずれかがボトルネックかを探る

sar, vmstat で時間経過とともにCPU使用率やI/O待ち率の推移が確認できる

大規模環境では、I/O負荷を抱えるサーバはそもそも分散させるのが難しい上に、ディスクI/Oが多発するとサーバが簡単に遅くなってしまうという本質的な問題がある

大規模データを扱うために

  • いかにしてメモリで済ませるか
  • データ量の増加に強いアルゴリズム、データ構造
  • データ圧縮、情報検索技術

参考

  • [Web開発者のための大規模サービス技術入門]