Время ответа сервера gRPC через Ethernet - PullRequest
2 голосов
/ 12 марта 2019

Я тестировал соединение клиент-сервер с клиентом gRPC, написанным на C #, и несколькими серверами (написанными на c ++, C #, rust and go). Когда я тестировал его локально, все прошло нормально (средний отклик GO около 0,12 мс), но когда я тестирую его по локальной сети, он становится очень медленным, как ДЕЙСТВИТЕЛЬНО медленным. Среднее время доходит до 40 мс на запрос! Чтобы было ясно: я использую простой протокол HelloWorld с простейшим возможным подключением. Другие серверы получают около 1 мс за запрос, а Go - около 40 мс.

Код сервера My Go:

 package main

import (
    "context"
    pb "descriptions"
    "log"
    "net"

    "google.golang.org/grpc"
)

type server struct{}

// SayHello implements helloworld.GreeterServer
func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) {
    //log.Printf("Received: %v", in.Name)
    return &pb.HelloReply{Message: ""}, nil
}

func main() {
    //  lis, err := net.Listen("tcp", port)
    lis, err := net.Listen("tcp", "0.0.0.0:50051")
    if err != nil {
        log.Fatalf("failed to listen: %v", err)
    }
    s := grpc.NewServer()
    log.Printf("Server listening on: " + lis.Addr().String())
    pb.RegisterGreeterServer(s, &server{})
    if err := s.Serve(lis); err != nil {
        log.Fatalf("failed to serve: %v", err)
    }
}

Я не подозреваю, что это проблема на стороне клиента, потому что она хорошо работает с другими серверами. У кого-нибудь была такая же проблема с голангом? Пожалуйста, дайте мне знать! Я также подумал, может ли это быть проблемой HTTP 1.1, но gRPC поддерживает HTTP2, поэтому я подозреваю, что он уже используется при запуске этого кода.

1 Ответ

0 голосов
/ 13 марта 2019

Согласно тесту здесь , Go и C ++ не должны иметь такой большой разницы (по сравнению с Ethernet).Не могли бы вы подать проблему в репозитории grpc-go, https://github.com/grpc/grpc-go/issues/new? И было бы очень полезно, если бы вы могли предоставить больше контекста о том, как работает сторона клиента.Спасибо!

...