味噌汁を飲みます

そんなに深く考えて書いていない twitter: siberiy4

Ubuntu2004でHTTP/3のNginxのスループット計測環境をたてる

medium.com

こいつの再現をするためにUbuntu2004に環境を作っていた

NginxのInstallはこれをやるだけ 第4章 実践HTTP/3 ~ 実装を触り、通信を観測し、理解を深める | gihyo.jp

h2loadはで nghttp2をbuildするだけ GitHub - nghttp2/nghttp2: nghttp2 - HTTP/2 C Library and tools

ただし、二つ問題がある 1. clang-14がubuntu2004にない。

llvmの公式のスクリプトはapt-add-keyが動かないので

llvm.sh not installing for Ubuntu 20.04 (focal) · Issue #54676 · llvm/llvm-project · GitHub

を参考に

sudo apt-get update -y
sudo apt-get install -y lsb-release wget software-properties-common apt-utils
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo add-apt-repository -y "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main"
sudo apt-get update -y
sudo apt-get install clang-14

にてInstall 可能

  1. libbpf-dev >= 0.7.0 がない

公式の通りに

 git clone --depth 1 -b v1.0.1 https://github.com/libbpf/libbpf
 cd libbpf
 PREFIX=$PWD/build make -C src install
 cd ..

にてBuildすると

libbpf/build/include/bpf/libbpf.h:70:54: error: ISO C++ forbids forward references to 'enum' types

みたいなエラーが出て利用できない。 これはlibbpfが動かないおそらくこれが関連する ので、v1.0.1からv0.8.1にダウングレードすることで動作する。

 git clone --depth 1 -b v0.8.1 https://github.com/libbpf/libbpf
 cd libbpf
 PREFIX=$PWD/build make -C src install
 cd ..