Не удается найти службу - GHZ для нагрузочного теста GRP C Service - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь протестировать службу GRP C с использованием GHZ. Однако я получаю сообщение об ошибке - не удается найти службу «com.server.grp c .Executor»

Конфиг. json файл:

    "proto": "/Users/dev/Desktop/ghz/execute.proto",
    "call": "com.server.grpc.Executor.execute",
    "total": 2000,
    "concurrency": 50,
    "data": {
        "param1": "test-data1",
        "param2": "test-data2",

    },
    "max-duration": "10s",
    "host": "<ip-address>:9090",
    "c": 10,
    "n": 200
}

прототип файла:



option java_package= "com.server.grpc";
option java_multiple_files = true;



service Executor  {
    rpc execute(ExecuteRequest) returns (ExecuteResponse);
}


message ExecuteRequest {
  string param1 = 1;
  string param2= 2;
}

message ExecuteResponse {
    bool res = 1;
    string msg = 2;
}

Запуск с помощью команды: ghz --config = /config.json

Что-то мне не хватает?

1 Ответ

0 голосов
/ 14 июля 2020

Ваш файл protobuf должен содержать, например:

syntax = "proto3";

package example;
...

Тогда ваша служба будет полностью квалифицирована example.Executor.execute, а не com.server.grpc.Execute.execute, который является специфичным для языка c (я предполагаю, Java на ваше полное имя option).

Я предполагаю, что вы случайно пропустили открывающую скобку ({) в файле JSON, но это, конечно, необходимо.

JSON - это сложный ваш "param2": "test-data2" не должен заканчиваться ,, потому что это последний элемент в списке; так что оставьте эту запятую.

{
    "proto": "/Users/dev/Desktop/ghz/execute.proto",
    "call": "example.Executor.execute",
    "total": 2000,
    "concurrency": 50,
    "data": {
        "param1": "test-data1",
        "param2": "test-data2"
    },
    "max-duration": "10s",
    "host": "<ip-address>:9090",
    "c": 10,
    "n": 200
}

Предполагая, что ваша служба работает на <ip-address>:9090, это должно работать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...