ベンチマーク・クライアント (C++)#

このデモでは、非同期 gRPC API を使用し、(OpenCV 依存関係を除いた) 合成データを使用してパフォーマンスをテストするベンチマーク・クライアントを提供します。

クライアントをビルドするには、このディレクトリーで make コマンドを実行します。すべての依存関係を含む ovms_cpp_benchmark という名前の Docker イメージが作成されます。

git clone https://github.com/openvinotoolkit/model_server.git 
cd model_server/demos/benchmark/cpp make

このアプリケーションは、GetModelMetadata エンドポイントをリクエストし、その情報を使用して形状と精度が一致する合成入力を準備することで、OVMS で提供される任意のモデルまたはパイプラインで使用できます。

: このディレクトリーには、ベンチマーク・クライアントに固有のコードのみが表示されます。他の C++ デモと共有されるコードやすべてのビルド・ユーティリティーは、共通の C++ ディレクトリーに配置されます。

: エンドポイントは動的形状を使用してはなりません。

使用例#

モデルの準備#

resnet50-binary モデルで OVMS を開始します:

curl -L --create-dir https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/resnet50-binary-0001/FP32-INT1/resnet50-binary-0001.bin -o resnet50-binary/1/model.bin https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/resnet50-binary-0001/FP32-INT1/resnet50-binary-0001.xml -o resnet50-binary/1/model.xml

サーバーの準備#

docker run -d -u $(id -u):$(id -g) -v $(pwd)/resnet50-binary:/model -p 9001:9001 openvino/model_server:latest \ 
--model_path /model --model_name resnet --port 9001 --layout NCHW

クライアントの開始#

docker run --rm --network host -e "no_proxy=localhost" ovms_cpp_benchmark ./synthetic_client_async_benchmark --grpc_port=9001 --iterations=2000 --max_parallel_requests=100 --consumers=8 --producers=1 

Address: localhost:9001 
Model name: resnet 
Synthetic inputs: 
        0: (1,3,224,224); DT_FLOAT 

Running the workload...
======================== 
        Summary 
======================== 
Total time: 1933ms 
Total iterations: 2000 
Producer threads: 1 
Consumer threads: 8 
Max parallel requests: 100 
Avg FPS: 1034.66