啓蟄(けいちつ)とは、土中で冬ごもりをしていた生き物たちが目覚める頃のこと。生き物たちは久しぶりに感じるさわやかな風と、麗らかな春の光の中で生き生きとしています。 *https://www.543life.com/season/keichitsu*
ようやく実験結果が揃ったので,論文を仕上げることができる.
Dockerコンテナを1000個いっせいに削除しようとすると,systemd-resolved,init,systemd,dockerd,containerd,libnetwork-setkeyなどの各プロセスが悲鳴を上げている.
Dockerコンテナ数百個に対して,1個あたりTCP 20conns/sで負荷かけてると,ksoftirqdがCPU 40%/coreぐらいになるのか.コンテナなしで,20,000conns/sならksoftirqdは目立たない.docker-proxyでTCPパケットがスタックを往復する回数が増えてるからかな.
コンテナ起動時のネットワークモードの指定をhost networkにすると,systemd-resolved,init,systemdなどのコンテナに直接関係ないプロセスのCPU利用率は落ち着いた.
コンテナのプロセスのメモリ消費次第だけど,16GBメモリもあれば,1000コンテナぐらいは起動できることがわかった.
コンテナ起動のためのコードはこのへん https://github.com/yuuki/shawk-experiments/blob/main/tools/spawnctnr/main.go
評価実験でeBPFプログラムの実行時間を計測する必要がでてきた.計測方法は昨年のeBPF summitのDatadogの人のLTが詳しい.実際に計測できるようにしたコードは https://github.com/yuuki/go-conntracer-bpf/pull/9 .
kernel.bpf_stats_enabled sysctl
有効にする方法