サーバの負荷を監視する。
via
http://d.hatena.ne.jp/naoya/20070222/1172116665
ざっくりとだとこんな流れ
* "負荷が高い"というときにロードアベレージを見て数字が高い
* CPU 使用率を見たところ idle は結構ある
* のでボトルネックは CPU ではなく他が考えられる
* vmstat でメモリの利用状況をみたらページアウトしまくってる
* 搭載メモリが足りないよ
via
http://nosa.cocolog-nifty.com/sanonosa/2004/06/post.html
具体的には
サーバのボトルネックには大体4つの原因があるらしい
- CPU使用率
- メモリ使用量
- ディスクI/O
- TCPコネクション数
外部公開サーバだと
Yahooトップに載った時とか、アクセス数が増えてメモリ量が減ってロードアベレージがあがった事があった
内部サーバだと
大量のファイルをアップロードすることで、ディスクioに負荷がかかってロードアベレージがあがった事があった。
調査に便利なコマンド
topコマンド
ロードアベレージの値や、メモリ使用料、CPU使用率を見れる。
# top top - 18:25:12 up 16 days, 3:02, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 108 total, 2 running, 106 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3%us, 4.3%sy, 33.6%ni, 61.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.3%st Mem: 524288k total, 447768k used, 76520k free, 57164k buffers Swap: 1081336k total, 1624k used, 1079712k free, 184380k cached ロードアベレージは基本は1未満で、10以上だとちょっと辛い、20以上だともっさりになるイメージ
freeコマンド - メモリ空き容量調査
2行目を見ると
# free total used free shared buffers cached Mem: 524288 447148 77140 0 57364 184380 -/+ buffers/cache: 205404 318884 Swap: 1081336 1624 1079712 2行目のfreeが実際の空き容量、約318MBなので余裕
vmstat - ディスクI/O調査
# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 1624 77156 57448 184400 0 0 124 15 9 23 0 0 99 1 0
0 0 1624 77156 57448 184424 0 0 0 0 31 31 0 0 100 0 0
0 0 1624 77156 57448 184424 0 0 0 0 25 27 0 0 100 0 0
0 0 1624 77156 57448 184424 0 0 0 0 32 33 0 0 100 0 0
0 0 1624 77156 57448 184424 0 0 0 0 24 27 0 0 100 0 0
0 0 1624 77148 57460 184412 0 0 0 76 35 49 0 0 100 0 0
0 0 1624 77148 57460 184412 0 0 0 0 23 28 0 0 100 0 0
0 0 1624 77148 57460 184424 0 0 0 0 28 32 0 0 100 0 0
0 0 1624 77148 57460 184424 0 0 0 0 27 26 0 0 100 0 0
0 0 1624 77156 57460 184424 0 0 0 0 26 30 0 0 100 0 0
不可がかかってる時はboの値が3000とかいってた