Skip to main content

显示 Helm Chart 值

1. 提高资源分配

  • 你可以通过调整 Helm Chart 中各服务的资源分配来提升 Dify 的性能。
  • 可根据你的部署环境和资源情况进行扩容。
  • 以下是各组件的推荐配置:
备注说明:
  • API:根据需要横向扩容replica
  • Worker:根据需要横向扩容replica(tag 侧是否有大量文件需要上传)
  • Sandbox:根据需要横向扩容replica(是否节点有大量计算任务)
    • maxWorkers: 4(工作进程数量)
    • workerTimeout: 15(调用超时时间)
配置示例:

2. 优化外部 Postgres 数据库性能

2.1 计算数据库最大连接数

在配置数据库时,需要根据以下公式计算所需的最大连接数:
参数说明:
  • SQLALCHEMY_POOL_SIZE: 每个 worker 的数据库连接池大小
  • SQLALCHEMY_MAX_OVERFLOW: 连接池溢出时的最大额外连接数
  • API Worker数: API 服务的 serverWorkerAmount
  • Worker Worker数: Worker 服务的 celeryWorkerAmount
计算示例: 假设配置如下:
  • API: replicas=6, serverWorkerAmount=1
  • Worker: replicas=2, celeryWorkerAmount=1
  • SQLALCHEMY_POOL_SIZE=100
  • SQLALCHEMY_MAX_OVERFLOW=150
则最大连接数为:
建议在计算结果基础上预留 20-30% 的余量,以应对突发流量。上述示例中,建议将 max_connections 设置为 2400-2600。

2.2 完整配置示例

3. 性能监控建议

3.1 关键指标

监控以下指标以确保系统运行良好: 数据库连接:
  • 当前活跃连接数
  • 连接池使用率
  • 等待连接的请求数
资源使用:
  • CPU 使用率(建议保持在 70% 以下)
  • 内存使用率(建议保持在 80% 以下)
  • 磁盘 I/O
应用性能:
  • API 响应时间
  • Worker 任务队列长度
  • 任务执行时间

3.2 常见性能瓶颈