トップ «前の日記(2016-07-09(Sat)) 最新 次の日記(2016-07-11(Mon))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2016-07-10(Sun) 傘は使わずに済んだ

既に昨日だけど

26% packet loss

大阪駅から加古川駅までずっとpingだけしていた。

$ ping $GLOBAL_IP
//
64 bytes from $GLOBAL_IP: icmp_seq=2849 ttl=55 time=133 ms
64 bytes from $GLOBAL_IP: icmp_seq=2850 ttl=55 time=130 ms
^C
--- $GLOBAL_IP ping statistics ---
2850 packets transmitted, 2099 received, +5 duplicates, +4 errors, 26% packet loss, time 2865766ms
rtt min/avg/max/mdev = 0.000/12852.489/171128.963/30341.402 ms, pipe 170

数字の文字列を数値にしてくれる、とは限らない。

$ awk 'BEGIN{nst="foo100"; n=50;
  sub("foo","",nst)
  print nst, "<", n
  if(nst < 50)
    { print nst,"は", n, "未満"}
  else
    { print nst, "は", n, "以上" }
}'
100 < 50
100 は 50 未満

くれるときもあるけど。

$ awk 'BEGIN{nst="foo100"
sub("foo", "", nst)
print nst, nst * 2}'
100 200

で、前に書いたスクリプトいくらか訂正。

{if($1==64)
        {
                serial += 1
                sub("icmp_seq=","",$5)
                sub("time=","",$7)
                while (serial > int($5)) {
                        print serial, 2000000
                        serial += 1
                }
                print $5,$7
        }
}

sshfs測ってみる

down 64MB image

/dev/urandom で作った64MB(67108864Byte)のイメージをダウンロード。
その間、pingのrttはこんなふうになった。
アップロードは、もう少し「測定」らしいことができるようになってから 試すとするか。
と思ったが、やはりscpで試してしまった。

ファイルサイズ計測

なんとなくpython3で書いた。
バイナリモードの読み込みで開き、一度に1MBまでreadする。
繰り返して末尾に行き着いたら(-1を返さないんだろうか)、 そこで読み込み終了。

#!/usr/bin/env python3
from time import sleep
from sys import argv
 
filename = argv[1]
 
def fread(fi):
  size =1
  step = 1048576
  ret = 0
  f = open(fi, 'rb')
  while size:
    size = len(f.read(step))
    ret += size
  f.close()
  return ret
 
print(fread(filename))

ただし遅い。当然ファイルが大きくなるほど遅くなる。

$ truncate -s 10M test.img
$ time python3 filesize_p.py3 test.img
10485760
 
real	0m0.060s
user	0m0.048s
sys	0m0.008s
 
$ truncate -s 10G test.img
$ time python3 filesize_p.py3 test.img
10737418240
 
real	0m3.176s
user	0m0.112s
sys	0m3.060s

OSに教えてもらう方法は、OSとのインターフェースを 確認してから。

8MBをscpしてみて

scp 8mb

当初/dev/urandomによる32MBで試したが、時間が掛りすぎるようなので 8MBでやり直す。
リモートホストにアップロードさせながら、例によってPi B+でpingを 打ち続ける。

$ ping $REMOTE_IP
//
64 bytes from $REMOTE_IP: icmp_seq=905 ttl=55 time=59.7 ms
64 bytes from $REMOTE_IP: icmp_seq=906 ttl=55 time=59.6 ms
^C
--- 219.94.224.152 ping statistics ---
906 packets transmitted, 851 received, 6% packet loss, time 905851ms
rtt min/avg/max/mdev = 58.959/31742.458/57696.182/12070.898 ms, pipe 58

rttの平均が 5分余り、最大というより最悪が10分近くになった。

$ time scp 8M.img $SECOND_HOST:
Enter passphrase for key '/home/$USER/.ssh/$KEY:
8M.img                                        100% 8192KB  11.5KB/s   11:55    
 
real	14m40.204s
user	0m0.460s
sys	0m0.128s

平均値で11.5KB/sとはいっても、 かなりむらがあった。これもなんとか捕まえなければ。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。