Skip to content

Zix-0.5.x-rcN-grpc#949

Draft
prothegee wants to merge 6 commits into
MDA2AV:mainfrom
prothegee:zix-0.5.x-rcN-grpc
Draft

Zix-0.5.x-rcN-grpc#949
prothegee wants to merge 6 commits into
MDA2AV:mainfrom
prothegee:zix-0.5.x-rcN-grpc

Conversation

@prothegee

Copy link
Copy Markdown
Contributor

Description

Bump the zix entry to 0.5.x-rc1 for zix-grpc.

Update:

  • Adding unary & stream tls.

Required to call from HttpArena:

  • /benchmark -f zix-grpc
  • /benchmark -f zix-grpc --save

@prothegee

Copy link
Copy Markdown
Contributor Author

/benchmark -f zix-grpc

@github-actions

Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: zix-grpc | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
unary-grpc 256 7,055,079 2624.8% 382MiB +0.2% -2.8%
unary-grpc 1024 7,057,470 2739.9% 1.2GiB +1.7% ~0%
unary-grpc-tls 256 6,976,488 2698.8% 394MiB NEW NEW
unary-grpc-tls 1024 6,866,824 2765.0% 1.2GiB NEW NEW
stream-grpc 64 8,371,000 39.7% 130MiB -1.6% -6.5%
stream-grpc-tls 64 8,235,000 53.9% 140MiB NEW NEW
Full log

Status code distribution:
  [OK]         8371 responses   
  [Canceled]   146 responses    

Error distribution:
  [146]   rpc error: code = Canceled desc = grpc: the client connection is closing   
[info] CPU 39.7% | Mem 130MiB

[run 3/3]

Summary:
  Count:	8449
  Total:	5.07 s
  Slowest:	719.14 ms
  Fastest:	20.22 ms
  Average:	148.05 ms
  Requests/sec:	1667.24

Response time histogram:
  20.221  [1]    |
  90.112  [2526] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  160.004 [1515] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  229.896 [3176] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  299.787 [442]  |∎∎∎∎∎∎
  369.679 [413]  |∎∎∎∎∎
  439.571 [91]   |∎
  509.462 [44]   |∎
  579.354 [15]   |
  649.245 [7]    |
  719.137 [3]    |

Latency distribution:
  10 % in 30.72 ms 
  25 % in 42.51 ms 
  50 % in 161.52 ms 
  75 % in 195.92 ms 
  90 % in 258.66 ms 
  95 % in 324.63 ms 
  99 % in 422.44 ms 

Status code distribution:
  [OK]         8233 responses   
  [Canceled]   216 responses    

Error distribution:
  [216]   rpc error: code = Canceled desc = grpc: the client connection is closing   
[info] CPU 42.6% | Mem 130MiB

=== Best: 8371000 req/s (CPU: 39.7%, Mem: 130MiB) ===
[info] saved results/stream-grpc/64/zix-grpc.json
httparena-bench-zix-grpc
httparena-bench-zix-grpc

==============================================
=== zix-grpc / stream-grpc-tls / 64c (tool=ghz) ===
==============================================
[info] waiting for server...
[info] gRPC server ready
[info] ghz warm-up 2s

[run 1/3]

Summary:
  Count:	8427
  Total:	5.05 s
  Slowest:	673.26 ms
  Fastest:	19.85 ms
  Average:	147.16 ms
  Requests/sec:	1667.55

Response time histogram:
  19.847  [1]    |
  85.188  [2384] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  150.529 [1442] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  215.871 [3134] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  281.212 [539]  |∎∎∎∎∎∎∎
  346.553 [470]  |∎∎∎∎∎∎
  411.894 [150]  |∎∎
  477.235 [53]   |∎
  542.576 [16]   |
  607.917 [4]    |
  673.258 [3]    |

Latency distribution:
  10 % in 31.64 ms 
  25 % in 56.01 ms 
  50 % in 155.85 ms 
  75 % in 192.71 ms 
  90 % in 263.62 ms 
  95 % in 315.67 ms 
  99 % in 403.65 ms 

Status code distribution:
  [OK]         8196 responses   
  [Canceled]   231 responses    

Error distribution:
  [231]   rpc error: code = Canceled desc = grpc: the client connection is closing   
[info] CPU 45.8% | Mem 139MiB

[run 2/3]

Summary:
  Count:	8465
  Total:	5.06 s
  Slowest:	1.03 s
  Fastest:	20.26 ms
  Average:	146.23 ms
  Requests/sec:	1673.93

Response time histogram:
  20.264   [1]    |
  120.984  [3276] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  221.703  [3715] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  322.423  [741]  |∎∎∎∎∎∎∎∎
  423.142  [324]  |∎∎∎
  523.862  [125]  |∎
  624.581  [30]   |
  725.301  [11]   |
  826.020  [3]    |
  926.740  [1]    |
  1027.460 [1]    |

Latency distribution:
  10 % in 32.02 ms 
  25 % in 51.73 ms 
  50 % in 150.79 ms 
  75 % in 191.39 ms 
  90 % in 268.69 ms 
  95 % in 337.99 ms 
  99 % in 492.85 ms 

Status code distribution:
  [OK]            8228 responses   
  [Canceled]      236 responses    
  [Unavailable]   1 responses      

Error distribution:
  [236]   rpc error: code = Canceled desc = grpc: the client connection is closing                                                                     
  [1]     rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:64806->127.0.0.1:8443: use of closed network connection   
[info] CPU 48.6% | Mem 140MiB

[run 3/3]

Summary:
  Count:	8484
  Total:	5.06 s
  Slowest:	758.48 ms
  Fastest:	20.01 ms
  Average:	145.93 ms
  Requests/sec:	1675.89

Response time histogram:
  20.010  [1]    |
  93.857  [2487] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  167.704 [2612] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  241.552 [2087] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  315.399 [653]  |∎∎∎∎∎∎∎∎∎∎
  389.246 [262]  |∎∎∎∎
  463.093 [93]   |∎
  536.941 [31]   |
  610.788 [8]    |
  684.635 [0]    |
  758.482 [1]    |

Latency distribution:
  10 % in 32.01 ms 
  25 % in 56.77 ms 
  50 % in 151.64 ms 
  75 % in 190.08 ms 
  90 % in 265.98 ms 
  95 % in 313.16 ms 
  99 % in 426.52 ms 

Status code distribution:
  [OK]         8235 responses   
  [Canceled]   249 responses    

Error distribution:
  [249]   rpc error: code = Canceled desc = grpc: the client connection is closing   
[info] CPU 53.9% | Mem 140MiB

=== Best: 8235000 req/s (CPU: 53.9%, Mem: 140MiB) ===
[info] saved results/stream-grpc-tls/64/zix-grpc.json
httparena-bench-zix-grpc
httparena-bench-zix-grpc
[info] skip: zix-grpc does not subscribe to echo-ws
[info] skip: zix-grpc does not subscribe to echo-ws-pipeline
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/stream-grpc-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/stream-grpc-tls-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/unary-grpc-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/unary-grpc-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/unary-grpc-tls-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/unary-grpc-tls-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

@prothegee

Copy link
Copy Markdown
Contributor Author

/benchmark -f zix-grpc

@github-actions

Copy link
Copy Markdown
Contributor

👋 /benchmark request received. A collaborator will review and approve the run.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Framework: zix-grpc | Test: all tests

Test Conn RPS CPU Mem Δ RPS Δ Mem
unary-grpc 256 0 0.0% 0MiB -100.0% -100.0%
unary-grpc 1024 7,128,735 2789.3% 1.2GiB +2.7% ~0%
unary-grpc-tls 256 6,992,067 2675.8% 397MiB NEW NEW
unary-grpc-tls 1024 6,936,455 2816.6% 1.2GiB NEW NEW
stream-grpc 64 8,300,000 42.8% 132MiB -2.4% -5.0%
stream-grpc-tls 64 8,375,000 48.0% 144MiB NEW NEW
Full log
  [OK]         8192 responses   
  [Canceled]   250 responses    

Error distribution:
  [250]   rpc error: code = Canceled desc = grpc: the client connection is closing   
[info] CPU 40.2% | Mem 132MiB

[run 3/3]

Summary:
  Count:	8510
  Total:	5.05 s
  Slowest:	802.46 ms
  Fastest:	19.80 ms
  Average:	146.45 ms
  Requests/sec:	1683.76

Response time histogram:
  19.802  [1]    |
  98.068  [2864] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  176.334 [2490] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  254.601 [1957] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  332.867 [486]  |∎∎∎∎∎∎∎
  411.133 [312]  |∎∎∎∎
  489.399 [102]  |∎
  567.665 [48]   |∎
  645.931 [20]   |
  724.197 [15]   |
  802.463 [5]    |

Latency distribution:
  10 % in 31.32 ms 
  25 % in 47.53 ms 
  50 % in 151.95 ms 
  75 % in 190.65 ms 
  90 % in 277.75 ms 
  95 % in 344.58 ms 
  99 % in 492.28 ms 

Status code distribution:
  [OK]         8300 responses   
  [Canceled]   210 responses    

Error distribution:
  [210]   rpc error: code = Canceled desc = grpc: the client connection is closing   
[info] CPU 42.8% | Mem 132MiB

=== Best: 8300000 req/s (CPU: 42.8%, Mem: 132MiB) ===
[info] saved results/stream-grpc/64/zix-grpc.json
httparena-bench-zix-grpc
httparena-bench-zix-grpc

==============================================
=== zix-grpc / stream-grpc-tls / 64c (tool=ghz) ===
==============================================
[info] waiting for server...
[info] gRPC server ready
[info] ghz warm-up 2s

[run 1/3]

Summary:
  Count:	8432
  Total:	5.06 s
  Slowest:	793.53 ms
  Fastest:	18.48 ms
  Average:	147.21 ms
  Requests/sec:	1665.32

Response time histogram:
  18.477  [1]    |
  95.983  [2703] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  173.488 [2496] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  250.993 [1967] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  328.499 [603]  |∎∎∎∎∎∎∎∎∎
  406.004 [248]  |∎∎∎∎
  483.510 [94]   |∎
  561.015 [40]   |∎
  638.520 [16]   |
  716.026 [7]    |
  793.531 [5]    |

Latency distribution:
  10 % in 32.01 ms 
  25 % in 51.65 ms 
  50 % in 152.71 ms 
  75 % in 192.91 ms 
  90 % in 274.26 ms 
  95 % in 328.68 ms 
  99 % in 470.68 ms 

Status code distribution:
  [OK]            8180 responses   
  [Canceled]      251 responses    
  [Unavailable]   1 responses      

Error distribution:
  [251]   rpc error: code = Canceled desc = grpc: the client connection is closing                                                                     
  [1]     rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:35368->127.0.0.1:8443: use of closed network connection   
[info] CPU 47.7% | Mem 144MiB

[run 2/3]

Summary:
  Count:	8558
  Total:	5.08 s
  Slowest:	662.56 ms
  Fastest:	19.84 ms
  Average:	146.20 ms
  Requests/sec:	1683.44

Response time histogram:
  19.837  [1]    |
  84.109  [2324] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  148.381 [1495] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  212.653 [3283] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  276.924 [601]  |∎∎∎∎∎∎∎
  341.196 [451]  |∎∎∎∎∎
  405.468 [135]  |∎∎
  469.740 [47]   |∎
  534.012 [28]   |
  598.284 [7]    |
  662.556 [3]    |

Latency distribution:
  10 % in 31.49 ms 
  25 % in 62.27 ms 
  50 % in 154.16 ms 
  75 % in 190.67 ms 
  90 % in 253.21 ms 
  95 % in 310.47 ms 
  99 % in 408.04 ms 

Status code distribution:
  [OK]            8375 responses   
  [Canceled]      182 responses    
  [Unavailable]   1 responses      

Error distribution:
  [182]   rpc error: code = Canceled desc = grpc: the client connection is closing                                                                     
  [1]     rpc error: code = Unavailable desc = error reading from server: read tcp 127.0.0.1:35914->127.0.0.1:8443: use of closed network connection   
[info] CPU 48.0% | Mem 144MiB

[run 3/3]

Summary:
  Count:	8538
  Total:	5.05 s
  Slowest:	656.06 ms
  Fastest:	19.82 ms
  Average:	146.36 ms
  Requests/sec:	1689.26

Response time histogram:
  19.818  [1]    |
  83.443  [2419] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  147.067 [1196] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  210.692 [3298] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  274.316 [659]  |∎∎∎∎∎∎∎∎
  337.941 [458]  |∎∎∎∎∎∎
  401.565 [168]  |∎∎
  465.189 [60]   |∎
  528.814 [30]   |
  592.438 [9]    |
  656.063 [6]    |

Latency distribution:
  10 % in 31.03 ms 
  25 % in 47.43 ms 
  50 % in 156.93 ms 
  75 % in 191.82 ms 
  90 % in 262.05 ms 
  95 % in 316.68 ms 
  99 % in 422.68 ms 

Status code distribution:
  [OK]         8304 responses   
  [Canceled]   234 responses    

Error distribution:
  [234]   rpc error: code = Canceled desc = grpc: the client connection is closing   
[info] CPU 53.1% | Mem 144MiB

=== Best: 8375000 req/s (CPU: 48.0%, Mem: 144MiB) ===
[info] saved results/stream-grpc-tls/64/zix-grpc.json
httparena-bench-zix-grpc
httparena-bench-zix-grpc
[info] skip: zix-grpc does not subscribe to echo-ws
[info] skip: zix-grpc does not subscribe to echo-ws-pipeline
[info] rebuilding site/data/*.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/frameworks.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/stream-grpc-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/stream-grpc-tls-64.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/unary-grpc-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/unary-grpc-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/unary-grpc-tls-1024.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/unary-grpc-tls-256.json
[updated] /home/diogo/actions-runner/_work/HttpArena/HttpArena/site/data/current.json
[info] done
[info] restoring loopback MTU to 65536

@prothegee

Copy link
Copy Markdown
Contributor Author

Converting to draft till got proper leverage at certain approach.

@prothegee prothegee marked this pull request as draft June 30, 2026 14:55
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