skillup

技術ブログ

サーバー・ネットワーク

負荷調査のセオリー

投稿日:

以前にも下記リンクで負荷調査について記事を書いたんですが、もう少し掘り下げてみようかと。
サーバーの過負荷の発見 理論編
サーバーの過負荷の発見 メモリ使用率の調査&抽出、置換(awk,sed)コマンドについて
システム監視の基礎

全体の流れ

  1. ロードアベレージ調査
  2. ロードアベレージ低→ネットワーク系の可能性高い(コマンド調査)
  3. ロードアベレージ高→CPU,メモリ,I/Oの可能性高い(コマンド調査)

参考リンク

http://easyramble.com/linux-command-to-check-status.html

http://qiita.com/k0kubun/items/8ab1dfa7c0359d8e618d#_reference-6dfb89c192a2b5619d10

http://www.sakito.com/2012/06/linux.html

https://gist.github.com/hayajo/3950496

http://study.next-engine.net/linux%E9%AB%98%E8%B2%A0%E8%8D%B7%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%82%92%E8%AA%BF%E6%9F%BB.html

https://gist.github.com/kitak/6349463

http://blog.father.gedow.net/2012/10/23/linux-command-for-trouble/

http://qiita.com/Tocyuki/items/2e811cedd53b58b10270

シス管系女子

ロードアベレージ

辞書的な定義は1CPUにおける単位時間あたりの実行待ちとディスクI/O待ちのプロセスの数。CPUの実行権限が与えられるのを待っているプロセス」「ディスクI/Oの完了を待っているプロセス」の多さのこと

http://qiita.com/k0kubun/items/8065f5cf2da7605c8043

簡単に言うとこれが大きいほど仕事が混んでる状態。(目安として1以下であれば軽く、1~3は中くらい、それ以上だと重い。ただしコア数との兼ね合いが大きい。)

uptimeで直近1分、5分、15分をみることができる他、topでみることもできる

CPU使用率

ロードアベレージが高い場合、CPU使用率が高い可能性があります。t

  1. topをCPU利用率でソート
  2. 利用率の高いものをpsコマンドで状態を確認
  3. そのあと、straceやoprofileなどでさらに詳しい調査をすることが可能

メモリ使用率、ディスクI/O

CPU使用率が高くなく、Idle(待機まち)の率が高い場合、メモリ使用量、ディスクI/Oを疑う。

http://e-words.jp/w/%E3%82%B9%E3%83%AF%E3%83%83%E3%83%97.html

  1. topコマンドでMemとSwap使用率をみて、Swap使用率が相対的に高い場合、スワップを疑う。
  2. topでメモリ使用率でソート
  3. 利用率の高いものをpsでコマンド状態で確認
  4. スワップが発生している場合プログラムで改善し、無理なものはメモリの増設で対応する
  5. スワップが発生していない場合はキャッシュに必要なメモリが不足。データの分散やキャッシュサーバーの導入を検討

スワップ・・メモリが不足した場合、現在使用されていないプロセスを一時的にハードディスクに書き込む機能の1つ。ハードディスクに書き込むことをスワップアウト、メモリにデータを戻すことをスワップインとよび、一般的にこの使用率が高い場合、メモリ不足が疑われる。

ネットワーク関連

ロードアベレージが低いのに、ネットワークに問題があり、遅いことも考えられる。netstatなどでTCPコネクション数を調べる

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

任意のログファイルのログローテションについて

本日は自作のログファイルをうまくローテーションさせる方法について。 自作でログを作っておりますと、日がたつにずれどんどんと容量が膨らんでいきます。 放置するととんでもない量になっていることが多いですね …

no image

ファイルアップロード・ダウンロードに関するシェルスクリプト

ファイルのアップロードやダウンロードに関するシェルスクリプトなんぞを。 地味ですが、以外に登場頻度は高いかと。 Contents1 FTP1.1 ダウンロード1.2 アップロード2 SCP2.1 アッ …

no image

Perlワンライナー他

Perlではcgiと連動してWEBアプリケーションを作るケースが多いですが、元々テキストの編集や置換が非常に便利です。 例えば、あるディレクトリにある特定のファイル名(正規表現使用可)だけを抽出する場 …

no image

OSI参照モデル イーサネットとMACアドレス

OSI参照モデルのレイヤー1とレイヤー2で必要不可欠な規格がイーサネットです。 有線ネットワークであればほぼこの規格を採用していると思って間違いないでしょう。 MACアドレスでコンピューターを識別する …

no image

MariaDBインストール

CentOS7からはyumでmysqlをインストールするとMariaDBがディフォルトになるようです。 せっかくなので、これを機にMariaDBを使ってみました。といってもMySQLとほとんど一緒でし …