此项目为测试http网络程序的性能,初始代码克隆自项目zap的wrk目录
原项目,支持对zip、go、rust等网络框架性能测试,在此基础上,计划加上对fasthttp、gnet等网络框架的性能测试
sudo apt update
sudo apt install build-essential libssl-dev git
git clone https://github.com/wg/wrk.git
cd wrk
make
sudo cp wrk /usr/local/bin/
wrk --version
请根据测试的项目,自行安装go、rust、zig等编译环境
TODO: 原项目支持在shell.nix隔离环境运行测试程序,但本项目未移此功能过来
chmod 755 ./wrk/measure.sh
chmod 755 ./wrk/measure_all.sh
第二个参数为测试对象:
可选参数为: zig-zap go python python-sanic rust-bythebook rust-bythebook-improved rust-clean rust-axum csharp cpp-beast
./wrk/measure.sh go
启动测试wrk目录下的所有测试对象
./wrk/measure_all.sh
./wrk/measure_all.sh //需要先执行一遍全量性能测试(会产生测试xxx.perlog文件,graph.py会根据perlog文件输出图表)
python3 ./wrk/graph.py
========== CPU Info ==========
Model name: Intel(R) Core(TM) i5-10200H CPU @ 2.40GHz
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
========== Memory Info ==========
23GB RAM