Skip to content

Experimental: grpc_kit support - #186

Merged
palkan merged 2 commits into
masterfrom
feat/grpc_kit
Feb 3, 2023
Merged

palkan merged 2 commits into
masterfrom
feat/grpc_kit

Conversation

@palkan

@palkan palkan commented Feb 3, 2023

Copy link
Copy Markdown
Member

Summary

Make it possible to use grpc_kit as a gRPC server implementation.

Add grpc_kit to your Gemfile and specify ANYCABLE_GRPC_IMPL=grpc_kit env var to use it.

Checklist

  • I've added tests for this change
  • I've added a Changelog entry
  • I've updated documentation

Benchmarks

Running k6 run echo.js --duration=10s --vus=30:

  • gRPC
running (10.1s), 00/30 VUs, 300 complete and 0 interrupted iterations
default ✓ [======================================] 30 VUs  10s

     ✓ status is OK

     checks...............: 100.00% ✓ 300       ✗ 0   
     data_received........: 101 kB  10 kB/s
     data_sent............: 97 kB   9.6 kB/s
     grpc_req_duration....: avg=6.74ms min=1.18ms med=6.49ms max=18.95ms p(90)=10.88ms p(95)=12.11ms
     iteration_duration...: avg=1s     min=1s     med=1s     max=1.02s   p(90)=1.01s   p(95)=1.01s  
     iterations...........: 300     29.695843/s
     vus..................: 30      min=30      max=30
     vus_max..............: 30      min=30      max=30
  • grpc_kit
running (10.1s), 00/30 VUs, 300 complete and 0 interrupted iterations
default ✓ [======================================] 30 VUs  10s

     ✓ status is OK

     checks...............: 100.00% ✓ 300       ✗ 0   
     data_received........: 58 kB   5.7 kB/s
     data_sent............: 92 kB   9.1 kB/s
     grpc_req_duration....: avg=967.66µs min=446.91µs med=864.79µs max=5.82ms p(90)=1.37ms p(95)=1.58ms
     iteration_duration...: avg=1s       min=1s       med=1s       max=1.02s  p(90)=1.01s  p(95)=1.01s 
     iterations...........: 300     29.687503/s
     vus..................: 30      min=30      max=30
     vus_max..............: 30      min=30      max=30

grpc_kit performs much better for simple requests (p85: 1.5ms < 12ms).

@palkan
palkan marked this pull request as ready for review February 3, 2023 20:21
@palkan
palkan force-pushed the feat/grpc_kit branch 3 times, most recently from 129436c to 566a720 Compare February 3, 2023 20:33
@palkan
palkan merged commit 3598565 into master Feb 3, 2023
@palkan
palkan deleted the feat/grpc_kit branch February 3, 2023 20:41
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