Also see discussion https://github.com/grpc/grpc/issues/18055
On Wednesday, February 20, 2019 at 2:12:29 PM UTC+8, Lei Wang wrote: > > After my careful study on " > https://github.com/grpc/grpc/blob/master/test/cpp/qps/server_async.cc:" > suggested in another topic "*GRPC Threading Model*", I have some > concreted questions wandering in my mind, because > user has to provide their own threading models. Since I am implementing > pubsub services on top of grpc, threads are important for stream > rpc performance. I am seeking help from grpc community. > > > I am implementing a aysnc grpc pubsub services (multiple services > methods), and try to utilize multi threads to boost performances. Solution > form " > https://github.com/grpc/grpc/blob/master/test/cpp/qps/server_async.cc:" > just tell me that each thread handles a unique CallData object > (ServerRpcContext > instance): > > one thread <-> one completion queue <-> one grpc server context, one rpc > method (CallData instance with its address as a unique tag) > > I am familiar with hands on experiences of Linux event handling mechanisms > of epoll , kqueue, and select. Now I am curious about what are the > differences of the following grpc threading models and how to implement > them in pubsub server and client sides: > > 1 thread <-> 1 completion queue <-> mutliple rpc methods handling > 1 thread <-> multple completion queue <-> multiple rpc methods handling > many threads <-> 1 completion queue > many threads <-> many completion queue > > > > > > > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/c7d01e0f-73e1-4558-bf68-0e00eb338b79%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
