我写了一个包含多个rpc服务的grpc服务器。 有些是单一的,有些是服务器端的流。
它连接到grpc kubernetes服务器,所以我使用python kubernetes客户端来查询服务器。
目前,我遇到了一些性能问题,因为我认为如果有多个请求进来,它会缓冲 缓冲,让每个工作者都能完成,然后才能为传入的请求提供服务。
def startServer():
global server
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
servicer_grpc.add_Servicer_to_server(Servicer(), server)
server.add_insecure_port('[::]:' + str(port))
server.start()
我的问题是。
我怎样才能提高我的性能? 在threadpoolexecutor中添加更多的max_workers是否有帮助?
我怎样才能诊断出问题,并分离出导致速度减慢的原因?
我在想,在这种情况下,响应的大小是否重要,因为我是以字节为单位流向客户端的。
有什么方法可以测量响应的大小,或者在python grpc中它是否重要?
我想知道你是如何诊断你的Python grpc服务器的,这样你就会知道哪里需要改进?