スキップしてメイン コンテンツに移動

投稿

9月, 2024の投稿を表示しています

watchコマンドで少し複雑な1ライナーgawkコマンドを定期表示させる

watchコマンドは非常に便利なのですが、簡単なコマンドならともかくパイプやgawkを使うとちょっと手間がかかります。とはいうものの基本的には対象となるコマンド全体を"(ダブルクォーテーション)で括って、'(シングルクォーテーション)と$(ドル)を\(バックスラッシュ)でエスケープするだけです。 たとえば以下のコマンドを例にしてみます。 awk '{for (i=1; i<=NF; i++) printf strtonum("0x" $i) (i==NF?"\n":" ")}' /proc/net/softnet_stat | column -t これを前述の方針に従って加工すると以下のようになります。 watch -n 0.1 "awk '{for (i=1; i&lt=NF; i++) printf strtonum(\"0x\" \$i) (i==NF?\"\n\":\" \")}' /proc/net/softnet_stat | column -t" 正常にカッコ括りとエスケープできていれば以下のようになります。 Every 0.1s: awk '{for (i=1; i&lt=N... sample-host: Wed Sep 25 10:39:18 2024 16057639 0 0 0 0 0 0 0 0 5560482 0 0 0 4437314 0 0 0 0 0 0 0 0 289757 0 0 1 簡単ですが備忘録として挙げてみました。今回は以上です。それでは。

レイテンシーの高いサイトにrsync over sshとbbr congestion control algorithmで同期させる

レイテンシーがかなり高いサイト(250-300msec)にファイル転送をするテストを色々とやっているのですが、輻輳制御アルゴリズムをbbrに変更することで速度が設定前と比べるとそれなりにあがったので(とはいっても30-50Mbps程度にですが)、rsyncをssh越えで使ってみました。環境はローカル・リモートともにDebian 12です。 まず、輻輳制御アルゴリズムの設定ですが、/etc/sysctl.confに以下を追加し、sysctl -p で反映させます。 net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr つづいて、rsyncですがまず、上り(upload)を実行してみました。 someuser@mymachine:~$ rsync -Pav -e "ssh -i $HOME/.ssh/id_ed25519" someuser@high-latency-site.example.com:~/test-trans test-trans receiving incremental file list created directory test-trans test-trans/ test-trans/128MB.file 134,217,728 100% 4.17MB/s 0:00:30 (xfr#1, to-chk=8/10) test-trans/16MB.file 16,777,216 100% 3.24MB/s 0:00:04 (xfr#2, to-chk=7/10) test-trans/1MB.file 1,048,576 100% 1.24MB/s 0:00:00 (xfr#3, to-chk=6/10) test-trans/256MB.file 268,435,456 100% 4.21MB/s 0:01:00 (xfr#4, to-chk=5/10) test-trans/2MB.file 2,097,152 100% 1.55MB/s 0:00:01 (xfr#5, to-chk=4/10) test-trans/32MB.fil...