• 締切済み

パフォーマンスログ

現在、色々なサーバにパフォーマンスモニタを設定して始めています。 そして、各日のログを取得しそれによって統計を取っている段階です ただし、最近は特にサーバーに問題が無い為、パフォーマンスログに特に変動が無く、統計から「正常値」の算出自体はできるのですが「異常値」がいくつになるのかが判別できません。(本当はいいことなんですが。) 取得しているログは \Cache  \Data Map Hits % \Memory  \Available Bytes  \Cache Bytes  \Page Faults/sec  \Page Reads/sec  \Pages Input/sec  \Pages/sec  \Pool Nonpaged Bytes  \Pool Paged Bytes  \Transition Faults/sec \Network Interface(Intel[R] PRO Adapter)  \Bytes Received/sec  \Bytes Total/sec  \Packets/sec \Paging File(_Total)\  % Usage \PhysicalDisk(_Total)  \% Disk Time  \% Idle Time  \Avg. Disk Queue Length  \Current Disk Queue Length  \Disk Reads/sec  \Disk Writes/sec \Process(_Total)  \% Processor Time  \IO Other Bytes/sec  \IO Read Bytes/sec  \IO Write Bytes/sec \Processor(_Total)  \Interrupts/sec \Server Work Queues(0)  \Queue Length \Server  \Bytes Received/sec  \Bytes Total/sec  \Bytes Transmitted/sec  \Pool Nonpaged Bytes  \Pool Paged Bytes \System  \Context Switches/sec  \Processor Queue Length \TCP  \Segments Received/sec  \Segments Sent/sec これらの異常値を算出するには統計を録った正常値外の数値とする以外に、どう算出すればよいのでしょうか。 宜しくお願いいたします。

みんなの回答

  • nick2038
  • ベストアンサー率34% (55/160)
回答No.1

 やはり異常値が出るのを待つしかないかと。  統計の数値が重要なら、あくまで統計処理を進めればいいと思います。 条件を分ける必要があるとは思いますが基本的には正規分布をするはずなので、例えば標準偏差を取れば評価は出来るでしょう。  そういう事ではなく、机上で「あらかじめ」判断基準が欲しいという事であれば。 きちんとした設計がなされていればトラフィック・負荷等は想定値があるはずなので、それをそのまま数値としてください。  少なくとも、赤の他人に聞いても「たぶんこんなもんじゃないの~?」程度の答えしか返ってくるはずがありません。 システムを知らない以上、どの程度の負荷を見込んでいいのかさえわかりませんから。

ark_kiss
質問者

お礼

回答ありがとうございます。 調べた中には、設計内容によって大きく異なる部分が存在するのは確かです。 マイクロソフトが出している推奨しきい値と照らし合わせても、どうしても固定値で出ている部分と、変動値になる部分が出てきてしまいます。 異常値に関しては発生を待つとして、統計から出た正常値を元に分布を分布図から判断してみようかなと思います。 ありがとうございました。

関連するQ&A

  • 空きメモリは有るのにPages/secが高くて遅い場合

    空きメモリは有るのにPages/secが高くて遅い場合 パソコンがとても遅いので、Windowsのパフォーマンスカウンターを調べてみました。 %Processor Time Avg. Disk Queue Length Pages/sec Bytes Received/sec Bytes Sent/sec Available MBytes PC起動時等、数分間Pages/secが高止まり状態を続ける以外は大きな問題は無いと見ています。 Available MBytesにて空きメモリが2GB以上残っている事を確認しています。 仮想メモリに頼る必要は無いにも関わらず、Pages/secが高止まり状態(100以上)を続ける理由、もしくはこのようなPCを高速化するための方法をご存知の方がいらっしゃればご教示願います。 使用OS: Windows XP SP3 32bit版 メモリ: Windows XP が認識できるMAX 仕事でWindowsサーバを監視する事がありますが、やはりAvailable MBytesが充分でもPages/secが跳ね上がる現象をしばしば見かけます。

  • INDEX作成による更新系の影響範囲

    環境:Oracle9i 9.2.0.1 言語:VB6 システム:受注管理システム ある業務アプリの性能改善の為、顧客マスタにインデックスを作成したいのですが、更新系の処理が遅くなることを嫌ってなかなか承認が下りないです。 そんなに負荷はかからないと思うのですが、実際インデックスを1つ作成するとどの程度影響があるのか客観的に証明できないから困っています。 上記の業務アプリは毎日使用しています。 データ件数は100万件程度です。 参考までにインデックス作成前のINSERT文実行した実行計画とインデックス作成後のINSERT文実行した実行計画を記述します。 作成前 統計 ---------------------------------------------------------- 86 recursive calls 26 db block gets 14 consistent gets 29 physical reads 2956 redo size 628 bytes sent via SQL*Net to client 825 bytes received via SQL*Net from client 3 SQL*Net roundtrips to/from client 4 sorts (memory) 0 sorts (disk) 1 rows processed 実行後 統計 ---------------------------------------------------------- 281 recursive calls 27 db block gets 73 consistent gets 20 physical reads 3044 redo size 633 bytes sent via SQL*Net to client 825 bytes received via SQL*Net from client 3 SQL*Net roundtrips to/from client 7 sorts (memory) 0 sorts (disk) 1 rows processed そんなに影響がないということを証明したいのですが、上記統計で大したことないと証明できますでしょうか?

  • CISCO ルーティングの設定 line protocol is down

    CISCOのルータに詳しい方教えていただけませんでしょうか。 ホントに初歩的な質問してると思いますがお願いします。 CISCO 2600で2つのネットワークアドレス間をルーティングさせようとしていますがルーティングの設定がうまくいきません。 # show interface コマンドで確認すると以下のように  FastEthernet0/0 is up, line protocol is down と line protocolのエラーが表示されます。 どこに聞いたらよいかわからなかったため質問しました。 お導きくださいませ。 FastEthernet0/0 is up, line protocol is down Hardware is AmdFE, address is 000c.3014.2e40 (bia 000c.3014.2e40) Internet address is 220.xxx.xxx.xxx/30 MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, Auto Speed, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output 00:00:09, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue :0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog 0 input packets with dribble condition detected 8909 packets output, 534576 bytes, 0 underruns 0 output errors, 0 collisions, 5 interface resets 0 babbles, 0 late collision, 0 deferred 8909 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out FastEthernet0/1 is up, line protocol is down Hardware is AmdFE, address is 000c.3014.2e41 (bia 000c.3014.2e41) Internet address is 211.xxx.xxx.xxx/30 MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, Auto Speed, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output 00:00:03, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue :0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog 0 input packets with dribble condition detected 8912 packets output, 534756 bytes, 0 underruns 0 output errors, 0 collisions, 5 interface resets 0 babbles, 0 late collision, 0 deferred 8912 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out

  • 統計情報について

    以下の統計情報ですが、各項目が具体的にわかる資料は何を見たらわかりますか? ちなみに「consistent gets」が多いと重いのかなぁと考えてる程度の知識です。 宜しくお願いします。 ---------------統計情報------------------------ 統計 ---------------------------------------------------------- 187 recursive calls 0 db block gets 176479 consistent gets 63028 physical reads 0 redo size 391 bytes sent via SQL*Net to client 503 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 2 sorts (memory) 0 sorts (disk) 1 rows processed ---------------統計情報------------------------

  • Ciscoルータ :sh inter bri0 による結果の読み方を教えて下さい

    現在,ルータ,スイッチを勉強中の者です。 初心者的な質問となりますが,教えて頂ける方がおりましたならば,教えて頂きたいと思います。 宜しくお願いします。 Ciscoルータにて「sh inter bri0」のコマンドより,ルータの状態をチェックしました。 その結果「BRI0 is down, line protocol is down」という結果となっていました。 一体「BRIO」及び「line protocol」にて「down又はup」となる条件は何でしょうか? 参考にその際の結果内容を添付します。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ switch#sh inter bri0 Load for five secs: 0%/0%; one minute: 0%; five minutes: 0% Time source is NTP, *17:32:56.511 JST Thu Jun 28 2007 BRI0 is down, line protocol is down Hardware is BRI with S/T interface Description: ### to_*** ### Internet address is 192.202.100.1/24 MTU 1500 bytes, BW 64 Kbit, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation PPP, LCP Closed, loopback not set Keepalive set (10 sec) Last input never, output never, output hang never Last clearing of "show interface" counters 00:32:42 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: weighted fair Output queue: 0/1000/64/0 (size/max total/threshold/drops) Conversations 0/1/16 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) Available Bandwidth 48 kilobits/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 0 packets output, 0 bytes, 0 underruns 0 output errors, 0 collisions, 3 interface resets 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions switch# ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

  • rsync実行でmkdirエラー

    rsyncコマンドでs1/s2/s3/a.txtというファイルをd1/s2/s3/にコピーしようとしているのですが ※d1ディレクトリはあるがd1/s2ディレクトリ、d1/s2/s3ディレクトリは存在していない。 $ rsync -avzu --delete s1/s2/s3/a.txt d1/s2/s3/ building file list ... done rsync: mkdir "/home/hogehoge/d1/s2/s3" failed: No such file or directory (2) rsync error: error in file IO (code 11) at main.c(381) rsync: connection unexpectedly closed (8 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) エラーが出てしまいます。 $ rsync -avzu --delete s1/a.txt d1/s2/ building file list ... done created directory d1/s2 a.txt sent 124 bytes received 40 bytes 109.33 bytes/sec total size is 6 speedup is 0.04 成功します。 d1/s2/s3の場合でもディレクトリが作成されてコピーできるようにするにはどうしたら良いでしょうか? OSはLinuxです。

  • cisco2500 rxbootでethernet 0 にipを設定したがping が通りません

    cisco2500 rxbootでethernet 0 にipを設定しました。 10.0.0.1です。しかしcisco2500にコンソール接続して10.0.0.1にpingを実行しても失敗します。こんなとき何を確認すべきでしょうか? test(boot)>ping 10.0.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds: ..... Success rate is 0 percent (0/5) >show interface Ethernet0 is up, line protocol is down Hardware is Lance, address is 00e0.1e3e.abc3 (bia 00e0.1e3e.abc3) Internet address is 10.0.0.1, subnet mask is 255.0.0.0 MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, rely 128/255, load 1/255 Encapsulation ARPA, loopback not set, keepalive set (10 sec) ARP type: ARPA, ARP Timeout 4:00:00 Last input never, output 0:00:03, output hang never Last clearing of "show interface" counters never Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 0 input packets with dribble condition detected 2817 packets output, 330633 bytes, 0 underruns 2817 output errors, 0 collisions, 2 interface resets, 0 restarts

  • rsyncやSSH接続ができません。

    ■rsyncがRSHでなく必ずSSH接続になってしまいます。 環境変数RSYNC_RSHもないのですが何故でしょうか? なおPort番号は22ではなく220をSSHにしています。 rsync -avz /home/test backup-server:/home/backup ssh: connect to host backup-server port 22: Connection refused rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) ■仕方なくSSHで接続しようと試みましたが今度はパーミッションエラーでした。 SSHのバージョンはサーバーは2で、クライアントはCentOS4.1ですがSSHの バージョンがわからない状態です。 SSHのバージョンはどう調べれば良いでしょうか? sync -avz -e "ssh -p 220 -oHostKeyAlias=test-server" /home/backup backup-server:/home/backup Permission denied (publickey). rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(359) なお、authorized_keysは、id_rsa.pubからコピーしてあり、644。 known_hostsには、test-serverは入っていて、644です。

  • TCPプログラミング

    以下のプログラムをコンパイルして実行したら Exception in thread "main" java.lang.IllegalArgumentException: Paraneter(s):<Server> <Word> [<Port>] at TCPEchoClient.main(TCPEchoClient.java:9) というメッセージが表示されました。 このメッセージの意味が全く分かりません。 分かる方がいらっしゃいましたら教えてください。 お願いします。 本来なら Received:****(←****は自分が指定した文字列) となるはずなんですが… このプログラムはTCPを使ってエコーサーバと通信するクライアントです。 import java.net.*; import java.io.*; public class TCPEchoClient{ public static void main(String[] args)throws IOException{ if((args.length < 2)||(args.length > 3)) throw new IllegalArgumentException("Parameter(s):<Server><Word>[<Port>]"); String server = args[0]; byte[] byteBuffer = args[1].getBytes(); int servPort = (args.length == 3) ? Integer.parseInt(args[2]) : 7; Socket socket = new Socket(server,servPort); System.out.println("Connected to server...sending echo string"); InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); out.write(byteBuffer); int totalBytesRcvd = 0; int bytesRcvd; while(totalBytesRcvd < byteBuffer.length){ if(bytesRcvd = in.read(byteBuffer, totalBytesRcvd, byteBuffer.length - totalBytesRcvd) == -1) throw new SocketException("Connection closed prematurely"); totalBytesRcvd += bytesRcvd; } System.out.println("Received: " + new String (byteBuffer)); socket.close(); } }

  • TCPプログラミング

    次のコードを入力したのですが、コンパイルできません。 エラーについても良く分かりません。 import java.net.*; import java.io.*; public class TCPEchoClient{ public static void main(String[] args)throws IOException{ if((args.length < 2)||(args.length > 3)) throw new IllegalArgumentException("Parameter(s):<Server><Word>[<Port>]"); String server = args[0]; byte[] byteBuffer = args[1].getBytes(); int servPort = (args.length == 3) ? Integer.parseInt(args[2]) : 7; Socket socket = new Socket(server,servPort); System.out.println("Connected to server...sending echo string"); InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); out.write(byteBuffer); int totalBytesRcvd = 0; int bytesRcvd; while(totalBytesRcvd < byteBuffer.length){ if(bytesRcvd = in.read(byteBuffer, totalBytesRcvd, byteBuffer.length - totalBytesRcvd) == -1) throw new SocketException("Connection closed prematurely"); totalBytesRcvd += bytesRcvd; } System.out.println("Received: " + new String (byteBuffer)); socket.close(); } } これについて、 if(bytesRcvd = in.read(byteBuffer, totalBytesRcvd, byteBuffer.length - totalBytesRcvd) == -1) この行にエラーがあるらしいです。 どう解決していいのか分かりません。 どなたか説明してもらえませんか。

    • ベストアンサー
    • Java