开发者
资源
[object Object]

服务化框架的性能调优往往如同置身 “黑盒”,问题根源难以精准定位 —— 比如请求量攀升后响应速度显著下降、硬件设备更换后性能表现迥异等场景,都难以快速排查。

msServiceProfiler(服务化调优工具)提供全链路性能剖析,清晰展示框架调度、模型推理等环节的表现,帮助用户快速找到性能瓶颈(帮助判断是框架问题还是模型问题),从而有效提升服务性能。

[object Object]
[object Object]
  • 在使用性能调优工具前请先完成msServiceProfiler工具安装,具体请参见《》。
  • 已完成对应服务框架的安装,并通过可用性验证(服务能够正常启动,且可通过官方示例脚本或 API 成功发起一次推理请求):
    • MindIE Motor:请参见《》完成 MindIE 的安装和配置,并确认 MindIE Motor 服务可以正常启动且能完成一次示例推理请求。
    • vLLM-Ascend:请参见《》以及 vLLM-Ascend 官方安装文档,完成环境准备并验证 vLLM 服务可正常对外提供推理接口。
    • SGLang:请参见《》以及 SGLang 官方安装文档,完成环境准备并验证 SGLang 服务可正常对外提供推理接口。
[object Object]
[object Object]
[object Object]

msServiceProfiler 的采集能力需要在部署服务之前,通过设置环境变量 [object Object]方能生效。如果环境变量拼写错误,或者没有在部署服务之前设置环境变量,都无法使能采集能力。

  • 通用说明

    • [object Object]:指定性能采集配置文件(JSON),用于控制是否开启采集、数据输出目录等。
  • 示例(以当前工作目录下的配置文件为例)

    [object Object]

[object Object] 的值需要指定到 json 文件名,该 json 文件即为控制性能数据采集的配置文件,比如采集性能元数据存放位置、算子采集开关等,具体字段介绍参考。若路径下无配置文件,工具将自动生成默认配置(采集开关默认为关闭状态)。

[object Object]
[object Object]

不同框架下的“运行服务”步骤不同,但对 msServiceProfiler 来说,关键是在服务进程启动之前完成环境变量配置,之后按照各框架原有方式启动服务。

[object Object]

按照《》启动推理服务即可。若正确配置了 [object Object],在服务部署完成之前会输出如下以 [object Object] 开头的日志,说明 msServiceProfiler 已启动,例如:

[object Object]

如果 [object Object] 环境变量所指定的配置文件不存在,工具会自动创建,日志类似:

[object Object]
[object Object]

在完成 vLLM-Ascend 环境准备和变量配置后,按 vLLM 原生方式启动服务,例如:

[object Object]
[object Object]

首次集成时,需要在 SGLang 服务化启动入口中接入 msServiceProfiler,之后再按常规方式启动服务。

[object Object]
[object Object]

服务部署成功之后,可以通过修改 [object Object] 对应配置文件中的字段来进行精准控制采集行为(此处仅以以下三个字段为例):

[object Object]

表 1 参数说明

[object Object]undefined

一般来说,如果 [object Object] 一直为 1,当服务从收到请求的那一刻起,工具会一直采集,直到请求结束,[object Object] 下的目录大小也会不断增长,因此推荐用户仅采集关键时间段的信息。

每当 [object Object] 字段发生变更时,工具都会输出对应的日志进行告知,例如:

[object Object]

或:

[object Object]

[object Object] 由 0 改为 1 时,配置文件中的所有字段都会被工具重新加载,从而实现动态更新。

同样,工具会在 [object Object](默认 [object Object])下生成推理服务对应的原始性能数据。

[object Object][object Object]
  1. 安装环境依赖。

    [object Object]
  2. 执行解析命令示例(通用形式):

    [object Object]

    [object Object] 指定为 prof_dir 参数指定的路径。解析完成后,默认在命令执行目录下生成解析后的性能数据文件。

[object Object]
[object Object]

解析后的性能数据包含db格式、csv格式和json格式,用户可以通过csv进行请求、调度等不同维度的快速分析,也可以通过MindStudio Insight工具导入db文件或者json文件进行可视化分析,详细操作和分析说明请参见《》中的“”章节。

根据MindStudio Insight工具的可视化呈现性能数据,如下图所示: