执行测试
本文提供推理阶段性能测试方法,可以使用已经存在的模型文件直接进行推理阶段性能测试。
推理阶段性能测试
- 进入ModelZoo所在路径。
1cd /path/to/sra_benchmark/modelzoo
- 执行推理阶段性能测试命令,即可对Wide_and_Deep,DLRM,DeepFM,DFFM,DSSM五个模型进行推理阶段性能测试。
1python inference_throughput_test.py --test_method entire --meta_path /path/to/sra_benchmark --serving_path /path/to/tfserving --image nvcr.io/nvidia/tritonserver:24.05-py3-sdk --intra 0 --inter 0
性能测试命令参数说明如表1所示。各模型推理时的吞吐量保存在“modelzoo”下“inference_log”文件夹中。
部分模型性能测试结果保存的文件如下图所示。

在整机4个NUMA的测试场景中,以DeepFM模型为例,测试结果按NUMA编号分别记录在“inference_log”文件夹下deepfm_client0.txt,deepfm_client1.txt,deepfm_client2.txt,deepfm_client3.txt中。若是单NUMA测试,则测试结果记录在“inference_log”文件夹下的deepfm_client0.txt中(因为限制使用NUMA0)。
表1 推理性能测试命令参数说明 参数名称
参数说明
--test_method
用于指定推理阶段时所用的NUMA资源。
- single:使用单NUMA,限制为使用NUMA0。
- entire:使用整台服务器的所有NUMA。默认使用整台服务器的所有NUMA。
--meta_path
sra_benchmark所在路径。
--serving_path
包含TensorFlow Serving可执行二进制文件的路径。
--image
用于执行性能测试的TritonServer的容器名称及版本。
--intra
tensorflow_intra_op_parallelism,表示TensorFlow所有算子中各个算子内并行线程数,默认为“0”。
--inter
tensorflow_inter_op_parallelism,表示TensorFlow所有算子中各个算子间并行线程数,默认为“0”。
测试结果说明
以DeepFM的推理性能测试结果为例,deepfm_client0.txt中的部分内容如图1所示。
- Concurrency:性能测试时客户端发送请求的并发数。
- throughput:吞吐量,单位为infer/sec,指每秒推理次数。
- latency:p99时延,单位为usec,指99%的请求延迟都低于此值。
