Skip to content

RPC Benchmarks

René Jochum edited this page Dec 3, 2023 · 36 revisions

benchmark results

benchmark/rps

2023-12-03 @jochumdev

  • My workstation:

    • OS: Arch GNU/Linux
    • CPU: AMD Ryzen 5900X 12-Core @ 3.7 - 4.8GHz
    • Memory: 32GiB DDR4-5200
  • go version go1.21.4 linux/amd64

  • consul version:

    Consul v1.17.0
    Revision 4e3f428b
    Build Date 2023-11-03T14:56:56Z
    Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)
    
  • consul cmdline:

    ./consul agent --bind=127.0.0.1 --data-dir=/tmp/consul2 --server --bootstrap-expect=1 --ui
    
  • cmd: go run . --transport hertzhttp

time=2023-12-03T09:51:31.732+01:00 level=INFO msg=Config bypass_registry=1 connections=256 duration=15 timeout=8 threads=24 transport=h2c package_size=1000 content_type=application/x-protobuf
time=2023-12-03T09:51:32.233+01:00 level=INFO msg="Using transport" transport=h2c
time=2023-12-03T09:51:32.233+01:00 level=INFO msg="Warming up..."
time=2023-12-03T09:51:47.234+01:00 level=INFO msg="Now running the benchmark"
time=2023-12-03T09:52:02.235+01:00 level=INFO msg="Sum results" reqsOk=468757 reqsError=0
Transport reqs
hertzhttp 3.791.320
hertzh2c 3.776.005
grpc 1.678.491
h2c 468.757
http 504.178
h2c 442.568
https 1.897.435
http3 698.213
Clone this wiki locally