Ubuntu2004でHTTP/3のNginxのスループット計測環境をたてる
こいつの再現をするために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 可能
- 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 ..