ベンチマーク・クライアント (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