grpcbox-stream: Fix to support multiple simultaneous unary/strem calls#34
grpcbox-stream: Fix to support multiple simultaneous unary/strem calls#34vasu-dasari wants to merge 4 commits intotsloughter:mainfrom
Conversation
Added a stress_test to stress number of concurrent gRPC sessions that can be run. BY default it is set to 10. But can be modified by environment variable GRPCBOX_STRESS_TEST # To run 25 concurrent sessions: $ GRPCBOX_STRESS_TEST=25 rebar3 ct --suite grpcbox_SUITE --case stress_test On my system, it above command breaks around 30-35. Signed-off-by: Vasu Dasari <vdasari@gmail.com>
Say there is a rRPC server offering "Streaming Output" service. And when client disconnects server side does not know about the client disconnection. This API offers a way for server to know if client socket is alive or not. Signed-off-by: Vasu Dasari <vdasari@gmail.com>
This commit addresses stress-test failure mentioned in tsloughter#29. Added two new APIs: add_channel(Name, Endpoints, Options) delete_channel(Pid) This would give ability to user to add and delete channels on the fly. Also modified stress_test test case to use this logic. With out this change, stress test fails around 10 simultaneous connections. With this change I can see around 90 simultaneous connections. Signed-off-by: Vasu Dasari <vdasari@gmail.com>
|
Hey, sorry I hadn't gotten to this yet. I'll be taking some time this week to work on grpcbox, so will get to it sometime in the next couple days. |
|
So the solution might be to have a configuration setting for how many connections to open per subchannel. A single connection can handle multiple concurrent streams but maybe you were hitting a limit on that concurrency and the need to increase the connections. But it could also be a chatterbox issue slowing down stream concurrency within a channel, so I also need to check that now. |
+1 any progress? |
|
Hi @tsloughter, Sorry did not see your comments. |
grpcbox-stream: Fix to support multiple simultaneous unary/strem calls
This commit addresses stress-test failure mentioned in #29
Added two new APIs:
add_channel(Name, Endpoints, Options)
delete_channel(Pid)
This would give ability to user to add and delete channels on the fly.
Also modified stress_test test case to use this logic. With out this change, stress test fails around 10 simultaneous connections. With this change I can see around 90 simultaneous connections.