bojand / ghz

Simple gRPC benchmarking and load testing tool
https://ghz.sh
Apache License 2.0
3.05k stars 271 forks source link

Unexpected failure when testing locally with GRPC server running in minikube #179

Open LarsAlmgren opened 4 years ago

LarsAlmgren commented 4 years ago

Proto file(s)

$ cat ping_service.proto
syntax = "proto3";

option java_multiple_files = true;
option java_package = ...;
option java_outer_classname = "Protos";
option go_package = "proto";

service PingService {
    rpc Ping (PingRequest) returns (PingResponse) {}
}

message PingRequest {
    string message = 1;
}

message PingResponse {
    string message = 1;
}

Command line arguments / config

$ grpcurl -insecure $(minikube ip):30789 PingService.Ping
{
  "message": "pong "
}
$ ghz --insecure --call PingService.Ping $(minikube ip):30789
rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection closed
$ ghz --insecure --proto ping_service.proto --call PingService.Ping $(minikube ip):30789

Summary:
  Count:    200
  Total:    6.99 ms
  Slowest:  0 ns
  Fastest:  0 ns
  Average:  1.28 ms
  Requests/sec: 28599.87

Response time histogram:

Latency distribution:

Status code distribution:
  [Unavailable]   200 responses

Error distribution:
  [200]   rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection closed

Describe the bug I expect this to work as I have no problem with the grpcurl request.

To Reproduce Steps to reproduce the behavior:

Expected behavior A clear and concise description of what you expected to happen.

Environment

Screenshots If applicable, add screenshots to help explain your problem.

Additional context Add any other context about the problem here.

LarsAlmgren commented 4 years ago

Using ghz --skipTLS --call PingService.Ping $(minikube ip):30789 worked though.