skillup

技術ブログ

サーバー・ネットワーク

負荷調査のセオリー

投稿日:2017年2月14日 更新日:

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

全体の流れ

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

参考リンク

Linuxサーバの負荷や使用率を調査するコマンドと手順

システムの負荷の原因を切り分ける方法

Linuxサーバの反応が遅い(重い)場合の原因の調査手順

標準的なツールによるサーバーの負荷調査チャート

コマンドによる「負荷」の原因切り分け

原因調査用Linuxコマンド

Linuxリソース確認系コマンドの使いドコロ

シス管系女子

ロードアベレージ

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

load averageを見てシステムの負荷を確認する

簡単に言うとこれが大きいほど仕事が混んでる状態。(目安として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を疑う。

IT用語辞典 e-words スワップ 【 swap 】

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

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

ネットワーク関連

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

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

執筆者:


comment

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

関連記事

no image

nginx上でのcakePHP

cakePHP上をCentOS,nginx上で公開するときのメモなどを。 cakeのversionは2.5です。 /var/www/html/sampleapp直下にプログラムを配置するものとします。 …

no image

Dockerでのメール送信に関して

Docker内でメール送信したいときなど。 通常であればWebコンテナ用にphp-7.4などのapache(or nginx)だけの最小構成になっていることがほとんどだと思いますので、メール送信ができ …

no image

vagrant 複数ホストを起動

ansbileを使おうと思ったんですが、ansibleはホスト1→ホスト2という構成になっているため、2台のホストがないと使えません。 MACであればローカル環境からいけますし、Windowsでもcy …

no image

ネットワーク基礎 OSI参照モデルなど

ここ↓でネットワークの基礎についてかいてあるので定期的に勉強しようと思っています。 3分間 NetWorking Contents1 スニーカーネットからリソース共有2 LANとWAN3 OSI参照モ …

no image

シェルスクリプトテキストファイルから配列&プロセス監視シェル

またまたシェルスクリプトネタなどを。 今回はtxtファイルの文字列を読み込んで配列に入れる処理ですね。 例えば aaa bbb ccc こんな文字列がテキストファイルに格納されていたとして、これを配列 …