Skip to content

2022 02 19 bench results

Andrea edited this page Feb 19, 2022 · 1 revision

Benchmarked on: Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz, 32G RAM

Config:

3a8cb60 Fri, 18 Feb 2022 17:02:15 +0000 Trisfald Make the long benchmark work again
- GRPC_BENCHMARK_DURATION=120s
- GRPC_BENCHMARK_WARMUP=30s
- GRPC_SERVER_RAM=512m
- GRPC_CLIENT_CONNECTIONS=50
- GRPC_CLIENT_CONCURRENCY=1000
- GRPC_CLIENT_QPS=0
- GRPC_CLIENT_CPUS=9
- GRPC_REQUEST_SCENARIO=complex_proto

Note: I had to disable erlang and elixir benches because I couldn't get them to build successfully.

1 CPU Server

-----------------------------------------------------------------------------------------------------------------------------------------
| name                        |   req/s |   avg. latency |        90 % in |        95 % in |        99 % in | avg. cpu |   avg. memory |
-----------------------------------------------------------------------------------------------------------------------------------------
| rust_tonic_st               |   46683 |       20.94 ms |       24.76 ms |       26.67 ms |       29.83 ms |  100.38% |     13.15 MiB |
| rust_thruster_st            |   43512 |       22.51 ms |       25.87 ms |       28.49 ms |       32.10 ms |  100.76% |      9.46 MiB |
| rust_tonic_mt               |   40146 |       24.59 ms |       10.85 ms |       12.48 ms |      602.61 ms |  100.85% |      14.8 MiB |
| rust_thruster_mt            |   36831 |       26.85 ms |       11.87 ms |       13.27 ms |      643.37 ms |   101.5% |      10.7 MiB |
| scala_akka                  |   34920 |       26.96 ms |       62.03 ms |       74.50 ms |       97.54 ms |  101.56% |    228.89 MiB |
| rust_grpcio                 |   33696 |       29.43 ms |       33.02 ms |       34.24 ms |       36.85 ms |  102.14% |     18.25 MiB |
| java_quarkus                |   33031 |       29.57 ms |       51.97 ms |       56.77 ms |       80.91 ms |   100.1% |    113.75 MiB |
| java_hotspot_grpc_pgc       |   32522 |       29.72 ms |       55.20 ms |       59.44 ms |       80.43 ms |  100.75% |    189.94 MiB |
| dotnet_grpc                 |   32099 |       28.39 ms |       58.78 ms |       69.62 ms |       82.62 ms |   100.9% |    109.51 MiB |
| java_hotspot_grpc_g1gc      |   29896 |       32.69 ms |       58.94 ms |       65.12 ms |       84.20 ms |  100.82% |    159.77 MiB |
| cpp_grpc_mt                 |   28068 |       35.46 ms |       39.87 ms |       40.98 ms |       44.36 ms |  102.23% |     11.34 MiB |
| cpp_grpc_st                 |   27955 |       35.61 ms |       40.68 ms |       41.68 ms |       44.69 ms |  102.25% |      9.02 MiB |
| java_hotspot_grpc_she       |   27819 |       35.20 ms |       68.57 ms |       83.95 ms |      100.07 ms |  101.37% |    395.68 MiB |
| java_hotspot_grpc_zgc       |   27306 |       35.84 ms |       66.94 ms |       80.80 ms |      101.32 ms |  101.12% |     122.7 MiB |
| cpp_asio_grpc               |   26888 |       37.04 ms |       41.72 ms |       43.26 ms |       46.38 ms |  102.61% |      9.12 MiB |
| java_openj9_grpc_gencon     |   24428 |       39.82 ms |       92.16 ms |       97.64 ms |      108.29 ms |  101.37% |    119.92 MiB |
| java_hotspot_grpc_sgc       |   23543 |       41.75 ms |       73.48 ms |       81.44 ms |       98.38 ms |   101.0% |     84.14 MiB |
| crystal_grpc                |   22001 |       44.48 ms |       53.56 ms |       55.88 ms |       62.05 ms |  123.87% |     37.53 MiB |
| java_quarkus_native         |   20184 |       49.29 ms |       54.22 ms |       55.80 ms |       58.93 ms |  100.57% |     88.22 MiB |
| kotlin_grpc                 |   17802 |       55.35 ms |       94.28 ms |      101.89 ms |      171.67 ms |  100.72% |    205.18 MiB |
| go_vtgrpc                   |   14878 |       62.91 ms |      100.51 ms |      107.10 ms |      187.02 ms |   96.54% |     30.03 MiB |
| java_micronaut_workstealing |   12423 |       80.00 ms |      102.29 ms |      110.83 ms |      189.85 ms |  101.42% |    467.16 MiB |
| go_grpc                     |   10143 |       94.72 ms |      193.55 ms |      206.35 ms |      303.52 ms |   95.77% |      30.3 MiB |
| java_micronaut              |    9627 |      103.35 ms |      105.88 ms |      126.41 ms |      503.65 ms |  100.72% |    476.08 MiB |
| scala_zio                   |    5434 |      183.05 ms |      294.81 ms |      329.64 ms |      595.98 ms |  100.62% |    260.46 MiB |
| csharp_grpc                 |    4799 |      207.78 ms |      259.45 ms |      270.44 ms |      282.74 ms |  101.77% |    102.73 MiB |
| node_grpcjs_st              |    4182 |      238.26 ms |      264.06 ms |      269.91 ms |      285.89 ms |  100.78% |     46.06 MiB |
| scala_fs2                   |    2909 |      342.63 ms |      388.79 ms |      489.27 ms |      579.08 ms |  102.03% |    220.66 MiB |
| python_async_grpc           |    2628 |      379.22 ms |      406.54 ms |      411.95 ms |      443.79 ms |  101.82% |     32.79 MiB |
| python_grpc                 |    2147 |      463.75 ms |      490.81 ms |      494.88 ms |      502.44 ms |  102.02% |     35.26 MiB |
| ruby_grpc                   |    1913 |      520.40 ms |      576.57 ms |      592.24 ms |      657.60 ms |  101.46% |     37.07 MiB |
| java_aot                    |    1694 |      586.45 ms |      997.64 ms |         1.17 s |         1.49 s |  100.46% |    188.31 MiB |
| php_grpc                    |     895 |         1.11 s |         1.19 s |         1.19 s |         1.20 s |  101.22% |     65.57 MiB |
-----------------------------------------------------------------------------------------------------------------------------------------

2 CPU Server

-----------------------------------------------------------------------------------------------------------------------------------------
| name                        |   req/s |   avg. latency |        90 % in |        95 % in |        99 % in | avg. cpu |   avg. memory |
-----------------------------------------------------------------------------------------------------------------------------------------
| scala_akka                  |   70319 |       11.25 ms |       21.08 ms |       28.33 ms |       54.47 ms |  186.66% |    237.19 MiB |
| dotnet_grpc                 |   69564 |       11.45 ms |       18.22 ms |       22.45 ms |       31.34 ms |  195.58% |    164.42 MiB |
| cpp_grpc_mt                 |   69152 |       11.80 ms |       21.67 ms |       26.60 ms |       37.00 ms |  204.02% |     34.25 MiB |
| cpp_asio_grpc               |   67312 |       12.54 ms |       23.65 ms |       28.16 ms |       37.49 ms |  204.18% |     35.19 MiB |
| rust_tonic_mt               |   62853 |       14.48 ms |       36.81 ms |       58.07 ms |       83.36 ms |  196.24% |     17.85 MiB |
| java_hotspot_grpc_pgc       |   61890 |       13.51 ms |       28.48 ms |       37.60 ms |       56.39 ms |  203.45% |    205.68 MiB |
| rust_thruster_mt            |   57917 |       15.78 ms |       40.81 ms |       60.03 ms |       83.17 ms |  198.59% |     12.12 MiB |
| rust_grpcio                 |   56283 |       16.49 ms |       25.78 ms |       29.79 ms |       36.81 ms |  202.36% |     36.72 MiB |
| java_hotspot_grpc_g1gc      |   53688 |       16.22 ms |       36.98 ms |       52.23 ms |       68.05 ms |  203.42% |    173.68 MiB |
| java_hotspot_grpc_she       |   50984 |       17.30 ms |       39.47 ms |       50.53 ms |       68.28 ms |  203.56% |    396.48 MiB |
| java_hotspot_grpc_zgc       |   48967 |       18.12 ms |       39.64 ms |       49.10 ms |       67.24 ms |  204.08% |    128.73 MiB |
| java_openj9_grpc_gencon     |   48516 |       17.83 ms |       38.67 ms |       46.20 ms |       59.40 ms |  203.32% |    134.58 MiB |
| rust_tonic_st               |   47174 |       20.72 ms |       24.87 ms |       26.51 ms |       30.05 ms |   101.4% |     12.87 MiB |
| java_hotspot_grpc_sgc       |   46047 |       19.69 ms |       38.12 ms |       43.94 ms |       64.60 ms |  195.37% |     91.94 MiB |
| kotlin_grpc                 |   45692 |       19.42 ms |       62.24 ms |       69.51 ms |       80.33 ms |  203.46% |    226.26 MiB |
| java_quarkus                |   44452 |       20.68 ms |       41.91 ms |       45.93 ms |       53.90 ms |   164.3% |    104.66 MiB |
| rust_thruster_st            |   43232 |       22.67 ms |       27.52 ms |       29.19 ms |       32.64 ms |  101.33% |      9.79 MiB |
| go_vtgrpc                   |   42229 |       19.31 ms |       50.95 ms |       58.00 ms |       69.11 ms |  193.63% |     29.29 MiB |
| java_quarkus_native         |   33920 |       29.02 ms |       34.13 ms |       36.53 ms |       40.63 ms |  194.98% |     88.46 MiB |
| cpp_grpc_st                 |   28857 |       34.47 ms |       38.90 ms |       40.33 ms |       43.04 ms |  102.65% |       9.0 MiB |
| go_grpc                     |   27987 |       31.48 ms |       76.28 ms |       83.40 ms |       96.75 ms |  203.65% |      30.2 MiB |
| java_micronaut              |   26355 |       36.68 ms |       66.10 ms |       72.41 ms |       84.23 ms |  183.59% |    501.29 MiB |
| java_micronaut_workstealing |   24891 |       38.98 ms |       70.56 ms |       77.46 ms |       91.07 ms |  181.73% |    503.93 MiB |
| crystal_grpc                |   21789 |       44.91 ms |       54.53 ms |       56.20 ms |       62.11 ms |   128.1% |     38.23 MiB |
| csharp_grpc                 |   17160 |       57.02 ms |       87.47 ms |       92.32 ms |      101.49 ms |  205.86% |    102.45 MiB |
| scala_zio                   |   10604 |       92.64 ms |      124.57 ms |      181.48 ms |      262.21 ms |  201.98% |    267.63 MiB |
| java_aot                    |    6473 |      152.45 ms |      287.09 ms |      309.77 ms |      409.35 ms |   197.6% |    214.28 MiB |
| node_grpcjs_st              |    6300 |      158.03 ms |      169.86 ms |      172.94 ms |      178.73 ms |  130.84% |     47.28 MiB |
| scala_fs2                   |    6188 |      161.24 ms |      188.15 ms |      200.08 ms |      293.19 ms |  206.68% |    229.39 MiB |
| python_async_grpc           |    4919 |      202.85 ms |      222.77 ms |      226.03 ms |      235.51 ms |  151.14% |     36.11 MiB |
| python_grpc                 |    3800 |      262.44 ms |      284.87 ms |      288.63 ms |      296.21 ms |  150.47% |     34.71 MiB |
| ruby_grpc                   |    2535 |      392.99 ms |      422.80 ms |      431.79 ms |      470.86 ms |   132.0% |     38.17 MiB |
| php_grpc                    |    2178 |      457.16 ms |      491.65 ms |      492.82 ms |      494.99 ms |  206.34% |     66.67 MiB |
-----------------------------------------------------------------------------------------------------------------------------------------

3 CPU Server

| name                        |   req/s |   avg. latency |        90 % in |        95 % in |        99 % in | avg. cpu |   avg. memory |
-----------------------------------------------------------------------------------------------------------------------------------------
| scala_akka                  |   73637 |       10.23 ms |       17.85 ms |       22.45 ms |       33.05 ms |  197.92% |    243.02 MiB |
| cpp_grpc_mt                 |   72761 |        9.64 ms |       18.51 ms |       24.89 ms |       39.29 ms |  239.47% |     40.37 MiB |
| cpp_asio_grpc               |   72551 |        9.72 ms |       18.33 ms |       24.19 ms |       38.24 ms |  242.92% |     41.93 MiB |
| java_hotspot_grpc_pgc       |   72117 |       10.04 ms |       22.22 ms |       28.71 ms |       42.04 ms |   245.1% |    210.94 MiB |
| dotnet_grpc                 |   72100 |       10.59 ms |       17.31 ms |       21.75 ms |       31.98 ms |  207.01% |    172.77 MiB |
| go_vtgrpc                   |   71942 |        9.88 ms |       18.21 ms |       22.09 ms |       32.11 ms |  274.81% |     28.83 MiB |
| java_hotspot_grpc_g1gc      |   70697 |       10.44 ms |       21.75 ms |       27.96 ms |       40.18 ms |  263.08% |    209.87 MiB |
| rust_tonic_mt               |   70382 |       11.43 ms |       22.73 ms |       29.83 ms |       43.95 ms |  260.82% |      19.6 MiB |
| java_hotspot_grpc_zgc       |   69698 |       10.68 ms |       22.05 ms |       29.18 ms |       43.50 ms |  271.74% |    132.86 MiB |
| java_hotspot_grpc_she       |   69530 |       10.81 ms |       23.63 ms |       31.33 ms |       46.42 ms |  268.35% |    413.63 MiB |
| rust_grpcio                 |   69171 |       11.44 ms |       19.94 ms |       25.40 ms |       37.50 ms |  257.03% |     29.18 MiB |
| java_openj9_grpc_gencon     |   68972 |       10.80 ms |       23.21 ms |       29.92 ms |       41.90 ms |  275.43% |    143.76 MiB |
| rust_thruster_mt            |   66525 |       12.06 ms |       23.62 ms |       30.55 ms |       43.80 ms |  258.15% |     12.63 MiB |
| kotlin_grpc                 |   64433 |       11.97 ms |       30.07 ms |       44.06 ms |       66.12 ms |  291.83% |    224.17 MiB |
| java_hotspot_grpc_sgc       |   58901 |       14.12 ms |       29.55 ms |       34.79 ms |       43.59 ms |  230.87% |     96.44 MiB |
| java_quarkus                |   53345 |       15.70 ms |       27.55 ms |       40.28 ms |       49.46 ms |  202.86% |    113.46 MiB |
| go_grpc                     |   51861 |       15.15 ms |       32.76 ms |       40.88 ms |       55.76 ms |  307.96% |     30.46 MiB |
| rust_tonic_st               |   47196 |       20.71 ms |       25.17 ms |       26.80 ms |       30.13 ms |  101.32% |     13.18 MiB |
| rust_thruster_st            |   42880 |       22.88 ms |       26.41 ms |       29.14 ms |       32.87 ms |  100.79% |      9.56 MiB |
| java_quarkus_native         |   42551 |       22.48 ms |       29.20 ms |       32.25 ms |       39.45 ms |  282.54% |     89.74 MiB |
| java_micronaut_workstealing |   41256 |       21.93 ms |       45.87 ms |       55.98 ms |       69.52 ms |  280.96% |    511.61 MiB |
| java_micronaut              |   40761 |       22.43 ms |       43.08 ms |       51.66 ms |       67.15 ms |  293.93% |    510.27 MiB |
| csharp_grpc                 |   29183 |       32.75 ms |       54.43 ms |       59.24 ms |       67.66 ms |  307.05% |    108.81 MiB |
| cpp_grpc_st                 |   28500 |       34.92 ms |       39.15 ms |       40.58 ms |       42.95 ms |  102.63% |      8.82 MiB |
| crystal_grpc                |   21708 |       45.09 ms |       55.05 ms |       56.60 ms |       62.99 ms |  128.46% |     38.25 MiB |
| scala_zio                   |   15319 |       64.13 ms |      103.81 ms |      138.97 ms |      207.28 ms |   307.8% |    301.58 MiB |
| scala_fs2                   |   12386 |       80.47 ms |       97.85 ms |      104.32 ms |      165.24 ms |  317.14% |    243.53 MiB |
| java_aot                    |   12116 |       80.55 ms |      164.68 ms |      190.44 ms |      244.95 ms |  286.29% |     219.2 MiB |
| node_grpcjs_st              |    6324 |      157.63 ms |      168.92 ms |      171.83 ms |      176.78 ms |  130.33% |     45.81 MiB |
| python_async_grpc           |    4908 |      203.32 ms |      223.31 ms |      227.02 ms |      234.37 ms |  150.77% |      38.8 MiB |
| python_grpc                 |    3881 |      256.98 ms |      279.76 ms |      283.31 ms |      292.62 ms |  150.14% |     35.08 MiB |
| php_grpc                    |    3578 |      278.71 ms |      294.79 ms |      295.83 ms |      298.77 ms |  310.46% |     67.34 MiB |
| ruby_grpc                   |    2550 |      390.69 ms |      426.46 ms |      439.95 ms |      517.74 ms |  132.95% |     37.02 MiB |
-----------------------------------------------------------------------------------------------------------------------------------------