跳转到主要内容
DataStore 性能分析器可帮助您测量执行时间并找出性能瓶颈。

快速入门

启用性能分析


性能分析器 API

获取 性能分析器

report()

显示性能分析报告。
参数:
参数类型默认值描述
min_duration_msfloat0.1仅显示耗时 >= 该值的步骤
示例输出:
报告显示:
  • 每个步骤的耗时 (毫秒)
  • 父级时间/总时间的百分比
  • 操作的层级嵌套关系
  • 每个步骤的元数据 (例如 ops_countops)

step()

手动统计代码块的耗时。

clear()

清除所有性能分析数据。

summary()

获取步骤名称到耗时 (毫秒) 的字典。
示例输出:

了解报告

步骤名称

步骤名称描述
Total Execution总执行时间
Query Planning查询计划耗时
SQL Segment N执行 SQL 片段 N
SQL Execution实际 SQL 查询执行
Result to DataFrame将结果转换为 pandas DataFrame
Cache Check检查查询缓存
Cache Write将结果写入缓存

耗时

  • 规划步骤 (查询规划) :通常很快
  • 执行步骤 (SQL 执行) :实际执行工作的环节
  • 传输步骤 (结果转为 DataFrame) :将数据转换为 pandas

识别性能瓶颈


性能分析方式

分析单个查询

分析多个查询的性能

方案对比


优化建议

1. 检查 SQL 执行时间

如果 SQL execution 是瓶颈:
  • 添加更多过滤条件以减少数据量
  • 使用 Parquet 而不是 CSV
  • 检查是否使用了合适的索引 (针对数据库来源)

2. 检查 I/O 时间

如果 read_csvread_parquet 是瓶颈:
  • 使用 Parquet (列式、已压缩)
  • 只读取所需的列
  • 如果可能,尽量在源头过滤

3. 检查数据传输

如果 to_df 很慢:
  • 结果集可能过大
  • 增加更多过滤条件或设置限制
  • 使用 head() 预览

4. 引擎对比


最佳实践

1. 先进行性能分析,再优化

2. 每次测试之间清理

3. 使用 min_duration_ms 聚焦重点

4. 分析有代表性的数据

5. 在生产环境中禁用


示例:完整性能分析会话

最后修改于 2026年7月3日