服务化调优工具
服务化调优工具主要使用msServiceProfiler接口,在MindIE Motor推理服务化进程中,采集关键过程的开始和结束时间点,识别关键函数或迭代等信息,记录关键事件,支持多样的信息采集,对性能问题快速定界。
工具操作如下:
操作步骤
- 环境准备。
- 在任意路径新建采集配置文件。
服务化性能数据采集通过json配置文件,配置采集数据的开关、保存路径等,以ms_service_profiler_config.json文件名为例,配置文件格式如下:
1 2 3 4 5 6
{ "enable": 1, "prof_dir": "${PATH}/prof_dir/", "profiler_level": "INFO", "acl_task_time": 0 }
表1 参数说明 参数
说明
是否必选
enable
是否开启性能数据采集的开关,取值为:
- 0:关闭。
- 1:开启。
是
prof_dir
采集到的性能数据的存放路径,可自定义,默认值为${HOME}/.ms_server_profiler。
否
profiler_level
数据采集等级,取值为INFO。
否
host_system_usage_freq
CPU和内存系统指标采集频率,默认关闭不采集。范围整数1~50,单位Hz,表示每秒采集的次数。设置为-1时关闭采集该指标。
说明:开启该功能可能占用较大内存,不建议修改。
否
npu_memory_usage_freq
NPU Memory使用率指标的采集频率,默认关闭不采集。范围整数1~50,单位Hz,表示每秒采集的次数。设置为-1时关闭采集该指标。
说明:开启该功能可能占用较大内存,不建议修改。
否
acl_task_time
开启采集算子下发耗时、算子执行耗时数据的开关,取值为:
- 0:关闭。默认值,配置为0或其他非法值均表示关闭。
- 1:开启。
说明:该功能开启时会占用一定的设备性能,导致采集的性能数据不准确,建议在模型执行耗时异常时开启,用于更细致的分析。
否
- 数据采集。
- 配置环境变量,指定采集配置文件ms_service_profiler_config.json。
export SERVICE_PROF_CONFIG_PATH="${PATH}/ms_service_profiler_config.json"
- 运行MindIE Motor服务。
- 动态启停采集任务。
重新开启一个命令行窗口,用户可以通过修改ms_service_profiler_config.json配置中的“enable”字段,实时切换数据采集功能的开启和关闭。
采集完成后在2中prof_dir参数指定的路径下落盘Profiling性能数据。
- 配置环境变量,指定采集配置文件ms_service_profiler_config.json。
- 数据解析。
- 安装环境依赖。
python >= 3.10 pandas >= 2.2 numpy >= 1.24.3 psutil >= 5.9.5
- 执行解析命令示例:
python3 -m ms_service_profiler.parse --input-path=${PATH}/prof_dir/ --output-path=${PATH}/prof_dir/
--input-path指定为2中prof_dir参数指定的路径。
解析完成后在--output-path参数指定的目录下生成解析后的性能数据文件,默认为当前目录。
- 安装环境依赖。
- 数据可视化。