Dify性能优化

通过合理配置Dify组件及外部资源的规格、数量,能够在满足生产环境性能要求的同时提高资源利用率。

操作步骤

  1. 使用SAE部署Dify,如果要求系统性能达到100QPS及以上,在部署时需要选择Dify高性能版

  2. 参考各性能档位所需最小资源集合调整Dify组件及外部资源的配置:

    1. 调整各个Dify组件的实例规格数量

    2. 调整Redis实例规格:登录Redis控制台,在左侧点击实例列表,在顶部选择部署地域,点击已创建的Redis实例操作列的变更配置;或者点击已创建的Redis实例操作列的管理,在左侧点击实例信息,按要求调整配置。

    3. 调整PostgreSQL实例规格:登录RDS控制台,在左侧点击实例列表,在顶部选择部署地域,点击已创建的PostgreSQL实例操作列的管理。在左侧点击基本信息,按要求调整配置。

    4. 调整公网NAT网关实例规格:登录NAT网关控制台,在顶部选择部署地域,点击已创建的公网NAT网关实例操作列的管理。在绑定的弹性公网IP页签,点击实例ID跳转到弹性公网IP实例详情页,在右上角点击更多操作 > 变配,按要求调整配置。

各性能档位所需最小资源集合

档位1:性能要求达到10QPS

Dify组件

组件名称

实例规格

实例数量

dify-nginx

CPU 1核 内存 2GB

1

dify-api

CPU 1核 内存 2GB

1

dify-plugin-daemon

CPU 1核 内存 2GB

1

dify-worker

CPU 1核 内存 2GB

1

dify-sandbox

CPU 1核 内存 2GB

1

dify-web

CPU 1核 内存 2GB

1

外部资源

资源类型

实例规格

Redis

  • 架构类型:不启用集群

  • 产品类型:开源版

  • 版本:6.0

  • 规格:2GB

  • 带宽:96MB/s

  • 读写分离:未开启(1主,1备)

  • 最大连接数:10,000

  • 分片数:1

PostgreSQL

  • CPU:2

  • 数据库内存:8G

  • 实例规格:pg.n4.2c.2m

  • 规格默认连接数:800

公网NAT网关

  • 类型:增强型

  • 公网IP带宽峰值:5 Mbps

档位2:性能要求达到100QPS(仅适用于Dify高性能版

Dify组件

组件名称

实例规格

实例数量

dify-nginx

CPU 1核 内存 2GB

1

dify-api

CPU 8核 内存 8GB

2

dify-plugin-daemon

CPU 2核 内存 4GB

4

dify-worker

CPU 1核 内存 2GB

1

dify-sandbox

CPU 1核 内存 2GB

1

dify-web

CPU 1核 内存 2GB

1

外部资源

资源类型

实例规格

Redis

  • 架构类型:不启用集群

  • 产品类型:开源版

  • 版本:6.0

  • 规格:2GB

  • 带宽:96MB/s

  • 读写分离:未开启(1主,1备)

  • 最大连接数:10,000

  • 分片数:1

PostgreSQL

  • CPU:2

  • 数据库内存:8G

  • 实例规格:pg.n4.2c.2m / pg.n4.4c.2m

  • 规格默认连接数:800

公网NAT网关

  • 类型:增强型

  • 公网IP带宽峰值:100 Mbps

档位3:性能要求达到200QPS(仅适用于Dify高性能版

Dify组件

组件名称

实例规格

实例数量

dify-nginx

CPU 1核 内存 2GB

2

dify-api

CPU 12核 内存 12GB

5

dify-plugin-daemon

CPU 2核 内存 4GB

10

dify-worker

CPU 1核 内存 2GB

1

dify-sandbox

CPU 1核 内存 2GB

1

dify-web

CPU 1核 内存 2GB

1

外部资源

资源类型

实例规格

Redis

  • 可选配置1:非集群架构

    • 架构类型:不启用集群

    • 产品类型:开源版

    • 版本:6.0

    • 规格:16GB

    • 带宽:288MB/s

    • 读写分离:未开启(1主,1备)

    • 最大连接数:20,000

    • 分片数:1

  • 可选配置2:集群架构

    • 架构类型:启用集群

    • 产品类型:开源版

    • 版本:6.0

    • 规格:1GB

    • 带宽:288MB/s

    • 读写分离:未开启(1主,1备)

    • 最大连接数:30,000

    • 分片数:3

PostgreSQL

  • CPU:64

  • 数据库内存:256G

  • 实例规格:pg.x4.8xlarge.2c

  • 规格默认连接数:25,600

公网NAT网关

  • 类型:增强型

  • 公网IP带宽峰值:100 Mbps

档位4:性能要求达到500QPS(仅适用于Dify高性能版

Dify组件

组件名称

实例规格

实例数量

dify-nginx

CPU 1核 内存 2GB

8

dify-api

CPU 12核 内存 12GB

16

dify-plugin-daemon

CPU 2核 内存 4GB

16

dify-worker

CPU 1核 内存 2GB

1

dify-sandbox

CPU 1核 内存 2GB

1

dify-web

CPU 1核 内存 2GB

1

外部资源

资源类型

实例规格

Redis

  • 可选配置1:非集群架构

    • 架构类型:不启用集群

    • 产品类型:开源版

    • 版本:6.0

    • 规格:16GB

    • 带宽:288MB/s

    • 读写分离:未开启(1主,1备)

    • 最大连接数:20,000

    • 分片数:1

  • 可选配置2:集群架构

    • 架构类型:启用集群

    • 产品类型:开源版

    • 版本:6.0

    • 规格:1GB

    • 带宽:288MB/s

    • 读写分离:未开启(1主,1备)

    • 最大连接数:30,000

    • 分片数:3

PostgreSQL

  • CPU:64

  • 数据库内存:512G

  • 实例规格:pg.x8.8xlarge.2c

  • 规格默认连接数:51,200

公网NAT网关

  • 类型:增强型

  • 公网IP带宽峰值:100 Mbps