执行解析
基础解析
执行解析命令示例:
python3 -m ms_service_profiler.parse --input-path=${PATH}/prof_dir/
参数 |
说明 |
是否必选 |
---|---|---|
--input-path |
指定性能数据所在路径,会遍历读取该路径下所有名为msproftx.db或ascend_service_profiler_*.db的数据库。 |
是 |
--output-path |
指定解析后文件生成路径,默认为当前路径。 |
否 |
--log-level |
设置日志级别,取值为:
|
否 |
--format |
设置性能数据输出文件的导出格式,取值为:
默认全部导出,可以配置一个或多个参数,配置示例:--format db,--format db csv。 说明:
若数据采集时,配置acl_task_time参数值为2,则解析结果文件仅支持导出json和db格式。 |
否 |
多维度解析
- 进行基础解析的同时,对性能数据按照不同维度(request维度、batch维度、总体服务维度)进行拆解。
- pip安装msserviceprofiler。
pip install -U msserviceprofiler
- 目前提供两种不同的使用方式。
- 进行基础解析的同时,也可对不同Batch数据进行细粒度拆解,如下示例。拉取msit代码仓后在msserviceprofiler目录下执行命令。
- 拆解prefill的batch数据。指定prefill的batch size大小进行性能拆解。
python3 msserviceprofiler/__main__.py split --input-path=${PATH}/prof_dir --prefill-batch-size=4 --prefill-number=100
或指定prefill的rid进行性能拆解。
python3 msserviceprofiler/__main__.py split --input-path=${PATH}/prof_dir --prefill-rid=10
执行完毕后在结果路径下生成输出文件prefill.csv。
- 拆解decode的batch数据。指定decode的batch size大小进行性能拆解。
python3 msserviceprofiler/__main__.py split --input-path=${PATH}/prof_dir --decode-batch-size=10 --decode-number=100
或指定decode的rid进行性能拆解。
python3 msserviceprofiler/__main__.py split --input-path=${PATH}/prof_dir --decode-rid=10
执行完毕后在结果路径下生成输出文件decode.csv。
表2 参数说明 参数
说明
是否必选
--prefill-batch-size
指定拆解的Prefill batch的batch_size大小,该值可以从batch.csv中的batch_size字段中获取,默认值为0,代表不执行prefill性能拆解。
否
--prefill-number
指定拆解的Prefill batch的数量,用于统计执行时间的最大值、最小值、平均值和标准差,默认值为1。
否
--prefill-rid
指定拆解的Prefill batch的请求id,该值可以从request.csv中的http_rid字段中获取,默认值为-1,代表不执行prefill性能拆解。
否
--decode-batch-size
指定拆解的Decode batch的batch_size大小,该值可以从batch.csv中的batch_size字段中获取,默认值为0,代表不执行decode性能拆解。
否
--decode-number
指定拆解的Decode batch的数量,用于统计执行时间的最大值、最小值、平均值和标准差,默认值为1。
否
--decode-rid
指定拆解的Decode batch的请求id,该值可以从request.csv中的http_rid字段中获取,默认值为-1,代表不执行decode性能拆解。
否
- 拆解prefill的batch数据。