ping! pong! pang!
pingでsearchをかけるといろいろと出てくるpingライクなコマンド
みんなどんな役割を持っているんだろうか。
いわずと知れたpingのように各プロトコルで応答の確認を行うコマンドであり、
fping,httpingなど監視ツールと組み合わせて利用されることも多いんだと思いますが、
普段使いできそうなコマンドはあるのでしょうか。
さっそく、調べてみました。
- fping:
- 複数のipにping
- ioping:
- 簡易的なディスクレイテンシーモニタリング
- omping:
- マルチキャストとユニキャストで応答確認
- hping:
- icmp,udp,tcpなどいろんなパケットを生成し応答確認
- arping:
- イーサネットレベルの応答確認
- 2ping:
- 特定の2ホストでどちら側のホストに問題があるのか確認できる。
- httping:
- httpレスポンス詳細が確認できる。
結果、下記の三つのコマンドは覚えておいても損はないかなと思いました。
一つずつ確認していきます。
- httpingはウェブサーバで遅延しているときにどの部分で遅延が発生しているのかが確認できる。
- arpingはipバッティングがないかどうかの確認ができる
- iopingは実運用下の中でディスクのレイテンシーの悪化状況を確認できる。
1.httping
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ httping www.example.com -S PING www.example.com:80 (/): connected to 198.51.100.20:80 (201 bytes), seq=0 time= 1.91+ 0.73+100.70+ 26.30+ 0.01=129.64 ms connected to 198.51.100.20:80 (201 bytes), seq=1 time= 0.76+ 0.65+ 21.46+ 0.04+ 0.01= 22.91 ms connected to 198.51.100.20:80 (201 bytes), seq=2 time= 0.82+ 0.61+ 42.42+ 0.04+ 0.01= 43.89 ms connected to 198.51.100.20:80 (201 bytes), seq=3 time= 0.78+ 0.73+ 24.18+ 0.04+ 0.01= 25.73 ms connected to 198.51.100.20:80 (201 bytes), seq=4 time= 0.82+ 0.65+ 25.85+ 0.05+ 0.01= 27.38 ms connected to 198.51.100.20:80 (201 bytes), seq=5 time= 1.04+ 0.69+ 25.32+ 0.03+ 0.01= 27.08 ms connected to 198.51.100.20:80 (201 bytes), seq=6 time= 0.98+ 0.62+ 27.20+ 0.03+ 0.01= 28.83 ms connected to 198.51.100.20:80 (201 bytes), seq=7 time= 0.82+ 0.60+ 23.96+ 0.03+ 0.01= 25.41 ms --- http://www.example.com/ ping statistics --- 8 connects, 8 ok, 0.00% failed, time 7672ms round-trip min/avg/max = 22.9/41.4/129.6 ms |
名前解決が完了するまでの時間
+サーバへ接続するまでの時間
+リクエストがサーバに受け付けられるまでの時間
+サーバが最初のデータをスタートするまでの時間
+データの転送が完了しコネクションがクローズされるまでの時間
=合計
がわかります。
これでどこの部分で遅延が発生しているのかが具体的にわかるようになります。
2.arping
1 2 3 4 5 6 7 8 9 10 |
$ sudo arping -I eth1 -b 198.51.100.20 ARPING 198.51.100.20 from 172.16.0.1 eth1 Unicast reply from 198.51.100.20 [A1:36:9D:27:D5:38] 0.686ms Unicast reply from 198.51.100.20 [A1:36:9D:27:D5:39] 0.632ms Unicast reply from 198.51.100.20 [A1:36:9D:27:D5:38] 0.648ms Unicast reply from 198.51.100.20 [A1:36:9D:27:D5:39] 0.651ms Unicast reply from 198.51.100.20 [A1:36:9D:27:D5:38] 0.637ms Unicast reply from 198.51.100.20 [A1:36:9D:27:D5:39] 0.642ms Unicast reply from 198.51.100.20 [A1:36:9D:27:D5:38] 0.635ms Unicast reply from 198.51.100.20 [A1:36:9D:27:D5:39] 0.651ms |
このようにIPのconflictの確認が可能です。
このコマンドを運用に組み込んでIPバッティングを防いだりできます。
3.ioping
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ ioping /data/file1 4.0 KiB from /data/file1 (ext4 /dev/md0): request=1 time=102 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=2 time=185 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=3 time=196 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=4 time=207 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=5 time=208 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=6 time=203 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=7 time=233 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=8 time=244 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=9 time=204 us 4.0 KiB from /data/file1 (ext4 /dev/md0): request=10 time=210 us --- /data/file1 (ext4 /dev/md0) ioping statistics --- 10 requests completed in 9.3 s, 5.0 k iops, 19.6 MiB/s min/avg/max/mdev = 102 us / 199 us / 244 us / 36 us |
このように実稼働環境においてレイテンシーの変化を確認し増強のタイミングを見極めることができます。
ちなみに、pong2というOpenGLを利用した3Dゲームがあります。
3Dのピンポンゲームです。aptでサクっと入ります。画面はこんな感じ^^
ディスカッション
コメント一覧
まだ、コメントがありません