TOP
>
サーバ構築・運用
> ディスクI/Oを確認する
サーバ負荷の原因を探れ!
サーバが重いってどういうこと?
著者:
ウノウ 尾藤 正人
2007/10/4
前のページ
1
2
3
ディスクI/Oを確認する
ディスクI/Oを確認するには先ほどのvmstatコマンドを使用します。
(画像をクリックすると別ウィンドウに拡大図を表示します)
ここで見るのは、b、bi、bo、waの値です。それぞれの値の意味は次のようになります。
b
割り込み不可能なスリープ状態にあるプロセス数
bi
読み出しブロック数
bo
書き込みブロック数
wa
待ちプロセスの割合
表4:ディスクI/Oで確認する項目
bi、boの値が大きい程ディスクアクセスが頻繁に行われています。ディスクアクセスが増えると、待ちプロセスが増加して、b、waの値が増えていきます。ディスクアクセスが増えて待ちプロセスが増えると、どんなに高速CPUでどんなにメモリを搭載していても処理がなかなか実行されなくなり、大きなボトルネックとなってしまいます。
ディスクI/Oが多い場合の対策
ディスクI/Oが多い場合は次のような対策を行います。
アドホックな対策
該当プロセスを終了させる
恒久的な対策
ディスクアクセスが少なくなるようにプログラムを変更する
ディスクを高速なものに変更する
ディスクを増やす、RAID構成にするなどしてI/Oを並列化させる
サーバを増やして負荷分散する
表5:ディスクI/Oが多い場合の対策
CPUやメモリの時と同様に、どうしようもない緊急の場合は、該当プロセスを終了させましょう。恒久的な対策も同様にハードウェアとソフトウェアの両面から対策をします。
ストレージに関しては様々な値段、性能のソリューションがあります。予算と要求仕様によっていろいろ検討する必要があります。
まとめ
サーバの負荷を軽減するにはボトルネックの特定が必要不可欠です。ボトルネックになっていない部分をいくら改善しても、時間とお金がかかるだけで、それほど多くの成果を出すことができません。またボトルネックの箇所によって、調べる方法も違います。
様々な方法を使って原因を特定し、サーバの負荷対策を行うように心がけましょう。
前のページ
1
2
3
著者プロフィール
ウノウ株式会社 尾藤 正人
CTO
広島市立大学大学院在学中にVine Linux SPARC版の開発を行う。2002年4月、HDEに入社。2003年度未踏ユースプロジェクトに採択され、「みかん - サーバ自動選択型FTPサーバの開発」を行う。退職後、シリコンバレーに語学留学のため渡米。2004年12月、帰国してウノウに参画。写真共有サイト「フォト蔵」を開発中。
ブログ:ベイエリア情報局
http://blog.bz2.jp/
INDEX
サーバが重いってどういうこと?
サーバが重いとは
メモリの使用状況を確認する
ディスクI/Oを確認する