Skip to content

fix: add --no-grpc to benchmarks that don't need grpc - #159

Merged
kacy merged 1 commit into
mainfrom
fix/bench-grpc-port-conflict
Feb 16, 2026
Merged

fix: add --no-grpc to benchmarks that don't need grpc#159
kacy merged 1 commit into
mainfrom
fix/bench-grpc-port-conflict

Conversation

@kacy

@kacy kacy commented Feb 16, 2026

Copy link
Copy Markdown
Owner

summary

ember's default gRPC port (6380) causes conflicts when multiple instances run simultaneously. the gRPC listener binds to 6380 regardless of the RESP3 port, so:

  • compare-redis.sh starts concurrent on 6379 → gRPC grabs 6380 → sharded on 6380 fails with "Address already in use"
  • bench.sh and bench-encryption.sh have the same issue
  • bench-memtier.sh and bench-memory.sh run servers sequentially but can hit TIME_WAIT issues

since these benchmarks measure RESP3 throughput, adding --no-grpc is the correct fix. bench-grpc.sh is the only script that needs gRPC and already sets --grpc-port explicitly.

what was tested

  • confirmed the root cause by capturing ember's startup logs showing "gRPC enabled grpc_port=6380" and "Address already in use (os error 98)"
  • verified --no-grpc flag disables the gRPC listener

the default gRPC port (6380) conflicts when multiple ember instances run
simultaneously. compare-redis.sh starts concurrent on 6379 and sharded
on 6380, but concurrent's gRPC listener already holds 6380. similarly
for bench.sh and bench-encryption.sh.

since these benchmarks measure RESP3 throughput (not gRPC), --no-grpc
is the cleanest fix. bench-grpc.sh is the only script that needs gRPC
and it already sets --grpc-port explicitly.
@kacy
kacy merged commit f3b5d5a into main Feb 16, 2026
7 checks passed
@kacy
kacy deleted the fix/bench-grpc-port-conflict branch February 16, 2026 03:40
kacy added a commit that referenced this pull request Feb 19, 2026
the default gRPC port (6380) conflicts when multiple ember instances run
simultaneously. compare-redis.sh starts concurrent on 6379 and sharded
on 6380, but concurrent's gRPC listener already holds 6380. similarly
for bench.sh and bench-encryption.sh.

since these benchmarks measure RESP3 throughput (not gRPC), --no-grpc
is the cleanest fix. bench-grpc.sh is the only script that needs gRPC
and it already sets --grpc-port explicitly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant