aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks/http/README.md
blob: e26174b571a06654f818d72f547ddc40027471e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# HTTP 벤치마크

Pure의 문서 서버들과 같은 계약의 axum 서비스를 같은 기기·코어 배정·부하 생성기로 잰다([075](../../docs/research/075-http-host-against-axum.md)).

```sh
cc -O2 -std=c17 -o load load.c
(cd axum-baseline && cargo build --release)
make -C ../../prototypes/connections build/pure-serve
make -C ../../prototypes/connections BUILD=build/tree STORE=store-tree.c build/tree/pure-connections
aup build ../../../aup/examples/editor.aup -o editor.pmod
python3 run.py --module editor.pmod --directory /var/tmp   # 저장소를 둘 장치에서
```

저장 보장 쓰기는 장치 상태가 같을 때만 비교된다. SD 카드는 동기 쓰기가 이어지면 느려지므로 실행 순서만으로
결과가 몇 배 달라진다. 쓰기를 비교할 때는 라운드를 여러 번 돌린다. 라운드마다 서버 순서를 회전하고, 서버마다
새 저장소를 쓰며, 쓰기 작업 직전에 장치의 fdatasync 지연(제자리 4 KiB)을 재서 결과 옆에 적는다. 표는 라운드의
중앙값이다.

```sh
python3 run.py --module editor.pmod --workloads put --rounds 5 --seconds 3 \
    --only pure-serve,pure-serve-3,axum-durable,axum-atomic
```