导入性能测试工具

用于复现和测试Python模块导入性能问题的Docker Compose项目。

  • by ycjcl868
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 ycjcl868/repro-slow-import-jsonschema

使用说明

进口复制缓慢

此文件夹包含一个最小的Docker Compose项目,该项目再现了缓慢的 我们观察到的第一个导入行为 mcp.types 和那个 jsonschema 包裹。这两项服务共享相同的内容 Dockerfile 并固定以下版本 我们的生产形象有问题。

先决条件

  • Docker 24+
  • Docker Compose V2

用法

# Build the shared base image
docker compose build

# Reproduce the jsonschema import delay (default command)
docker compose run --rm jsonschema

# Reproduce the mcp.types import delay
docker compose run --rm mcp

组合服务强制执行低CPU配额(0.5 核心)和紧凑的内存 限制(1g)以匹配最明显放缓的受限主机。

检查详细的导入时间

启用CPython的导入分析器来收集每个模块的细分:

PYTHONPROFILEIMPORTTIME=1 docker compose run --rm jsonschema
PYTHONPROFILEIMPORTTIME=1 docker compose run --rm mcp

脚本打印目标导入的挂钟持续时间,而 分析器将每个模块的时序转储到stdout,以包含在上游 问题。