Skip to content

Commit

Permalink
static webserver and redis benchmark definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
daroczig committed Aug 28, 2024
1 parent 053c4b9 commit c75807d
Showing 1 changed file with 71 additions and 6 deletions.
77 changes: 71 additions & 6 deletions src/sc_crawler/lookup.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,16 +277,81 @@ def _geekbenchmark(name: str, description: str):
unit="bogo ops/s (real time)",
),
Benchmark(
benchmark_id="app:static_web",
name="Static web server",
description="Serving smaller (1-65 kb) and larger (256-512 kb) files using a static HTTP server (binserve), and benchmarking each workload (wrk) using variable number of threads and connections on the same server.",
framework="app",
measurement="static_web",
benchmark_id="static_web:rps",
name="Static web server+client speed",
description="Serving smaller (1-65 kb) and larger (256-512 kb) files using a static HTTP server (binserve), and benchmarking each workload (wrk) using variable number of threads and connections on the same server. The measured RPS is not the maximum expected server speed, as the server shared CPU with the client.",
framework="static_web",
measurement="rps",
config_fields={
"threads": "Total number of threads used by wrk.",
"size": "Served file size (kb).",
"connections": "Total number of HTTP connections kept open by wrk.",
"framework_version": "Version number of both binserve and wrk.",
},
unit="rps",
),
Benchmark(
benchmark_id="static_web:rps-extrapolated",
name="Static web server (extrapolated) speed",
description="Serving smaller (1-65 kb) and larger (256-512 kb) files using a static HTTP server (binserve), and benchmarking each workload (wrk) using variable number of threads and connections on the same server. The extrapolated RPS is based on the measured RPS adjusted by the server's and client's time spent executing in user/system mode, so trying to control for the client resource usage.",
framework="static_web",
measurement="rps-extrapolated",
config_fields={
"size": "Served file size (kb).",
"connections": "Total number of HTTP connections kept open by wrk.",
"framework_version": "Version number of both binserve and wrk.",
},
unit="rps",
),
Benchmark(
benchmark_id="static_web:latency",
name="Static web server latency",
description="Serving smaller (1-65 kb) and larger (256-512 kb) files using a static HTTP server (binserve), and benchmarking each workload (wrk) using variable number of threads and connections on the same server. The average latency reported by wrk.",
framework="static_web",
measurement="latency",
config_fields={
"size": "Served file size (kb).",
"connections": "Total number of HTTP connections kept open by wrk.",
"framework_version": "Version number of both binserve and wrk.",
},
unit="sec",
),
Benchmark(
benchmark_id="redis:rps",
name="Redis server+client speed",
description="Running a pair of redis server and benchmarking client (memtier_benchmark) on each vCPU to evaluate the performance of SET operations, using different number of concurrent pipelined requests. The measured RPS (ops/sec) is the sum of RPS measured in all parallel processes, but is not the maximum expected redis server speed, as the server(s) shared CPU with the client(s).",
framework="redis",
measurement="rps",
config_fields={
"operation": "Operation, e.g. SET key.",
"pipeline": "The number of concurrent pipelined requests.",
"framework_version": "Redis server version number and build information.",
},
unit="ops/sec",
),
Benchmark(
benchmark_id="redis:rps-extrapolated",
name="Redis server (extrapolated) speed",
description="Running a pair of redis server and benchmarking client (memtier_benchmark) on each vCPU to evaluate the performance of SET operations, using different number of concurrent pipelined requests. The extrapolated server speed is based on the measured speed adjusted by the server's and client's time spent executing in user/system mode, so trying to control for the client resource usage.",
framework="redis",
measurement="rps-extrapolated",
config_fields={
"operation": "Operation, e.g. SET key.",
"pipeline": "The number of concurrent pipelined requests.",
"framework_version": "Redis server version number and build information.",
},
unit="ops/sec",
),
Benchmark(
benchmark_id="redis:latency",
name="Redis latency",
description="Running a pair of redis server and benchmarking client (memtier_benchmark) on each vCPU to evaluate the performance of SET operations, using different number of concurrent pipelined requests. The average latency reported by memtier_benchmark.",
framework="redis",
measurement="latency",
config_fields={
"operation": "Operation, e.g. SET key.",
"pipeline": "The number of concurrent pipelined requests.",
"framework_version": "Redis server version number and build information.",
},
unit="sec",
),
]

0 comments on commit c75807d

Please sign in to comment.