gRPC channel.close () занимает 10 секунд - PullRequest
4 голосов
/ 31 октября 2019

Я пытаюсь использовать следующий код на моем производственном сервере (который я хочу масштабировать до 500 TPS). Я сталкиваюсь со следующей проблемой, когда я заливаю на сервер много запросов. По крайней мере, 1 запрос на 1000 запросов вызов channel.close () занимает 10-10,5 секунд. Я запускаю код на сервере Flask. В настоящее время для каждого запроса я создаю канал и закрываю его. Пожалуйста, помогите мне с этим.

channel = grpc.insecure_channel(serving_address)
stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)
request = predict_pb2.PredictRequest()
request.model_spec.name = model_name
request.model_spec.signature_name = 'serving_default'
request.inputs['model_2_input'].CopyFrom(
        make_tensor_proto_engine(img_array, dtype=1, shape=[1, 224, 224, 3]))
result = stub.Predict(request, 6.0)
channel.close()
...