指定进程数量。
# The number of API server workers, i.e., the number of workers.
# Formula: number of cpu cores x 2 + 1 for sync, 1 for Gevent
# Reference: https://docs.gunicorn.org/en/stable/design.html#how-many-workers
# api worker 进程个数,建议 CPU 核数 x 2 + 1
SERVER_WORKER_AMOUNT: "50"
# 数据库连接池大小设置
SERVER_WORKER_CLASS: "gevent"
# 默认工作线程连接数,默认值为10。
SERVER_WORKER_CONNECTIONS: "200"
数据库连接池大小
# Database Config
# 数据库连接池大小设置
SQLALCHEMY_POOL_SIZE: "200"
SQLALCHEMY_POOL_RECYCLE: "3600"
运行时间设置
# Plugin 最大执行时长
PLUGIN_PYTHON_ENV_INIT_TIMEOUT: "120"
PLUGIN_MAX_EXECUTION_TIMEOUT: "600"
# APP 应用最大执行时间 (受限于私有部署模型性能和上下文长度,自行调整,避免被强制终止执行)
APP_MAX_EXECUTION_TIME: '3600'
# Workflow runtime configuration
# 最大的执行步骤
WORKFLOW_MAX_EXECUTION_STEPS: "500"
# 根据工作流的预估最大时长进行设置 (受限于私有部署模型性能和上下文长度,自行调整,避免被强制终止执行)
WORKFLOW_MAX_EXECUTION_TIME: "3600"
# 最大调用深度(循环等)
WORKFLOW_CALL_MAX_DEPTH: "5"
参考
https://github.com/langgenius/dify/issues/20824#issuecomment-2955218947
Dify 社区版的最大并发量没有硬性上限,主要取决于你的硬件资源和配置。你可以通过环境变量灵活调整并发相关参数,比如 APP_MAX_ACTIVE_REQUESTS(默认 0 表示无限制)、SERVER_WORKER_AMOUNT(推荐设置为 CPU 核心数 x 2 + 1)、SERVER_WORKER_CLASS(建议用 gevent 以提升高并发处理能力)、SERVER_WORKER_CONNECTIONS(默认 10)、以及数据库连接池和 Celery worker 数量等。数据库默认最大连接数为 100,Celery 支持自动扩缩容,适合大规模任务处理场景参考。
对于 8 核 32G 的服务器,实际可承载的并发量还受限于下游 LLM 服务、数据库、网络等瓶颈。单机部署建议开启 gevent,合理配置 worker 数量和连接池,监控系统负载并逐步压测调整。
如果用户量达到 10w+,建议采用容器化部署(如 Docker Compose/Kubernetes),实现多实例水平扩展,配合负载均衡器(如 Nginx)分流请求。后台任务(如 Celery)可开启 autoscale,数据库建议使用高可用集群并调大连接池。所有并发相关参数都可以通过环境变量灵活调整,无需改动代码参考。
总结:Dify 并发能力高度依赖部署架构和参数配置,建议通过压测结合实际业务场景动态调整,采用分布式和自动扩缩容方案以支撑大规模并发。