Hyperf 3.0 协程配置统一在 config/autoload/server.php 的 settings 中,关键参数包括:max_coroutine、task_worker_num、task_enable_coroutine、max_conn 和 max_request;修改后需重启生效。

Hyperf 3.0 中没有 runtime.php 文件用于协程配置。协程相关的核心配置统一放在 config/autoload/server.php 的 settings 数组中,由 Swoole 底层直接读取。
你需要关注的是 server.php 里 settings 下的以下关键协程参数:
max_coroutine
单个 Worker 进程内允许创建的最大协程数,默认值通常为100000。业务逻辑复杂或协程生命周期长时,可适当调高;若频繁创建协程又不及时释放,可能触发内存增长,需结合max_request控制重启。task_worker_num(重点替代项)
Hyperf 3.0 已移除worker_num,实际并发能力不再靠“Worker 进程”数量,而是由 Task Worker + 协程调度共同承担。建议设为cpu_count * 2 ~ cpu_count * 4,例如 4 核机器设8~16。task_enable_coroutine
必须设为true,否则 Task Worker 内无法使用协程客户端(如Co\Http\Client、Co\Redis),容易阻塞整个 Task 进程。max_conn和max_requestmax_conn控制最大并发 TCP 连接数(防连接洪泛);max_request控制每个 Worker 协程处理多少请求后自动重启(缓解内存缓慢泄漏),推荐1000~5000。
示例片段(config/autoload/server.php):
'settings' => [
'max_coroutine' => 100000,
'task_worker_num' => 12,
'task_enable_coroutine' => true,
'max_conn' => 10000,
'max_request' => 3000,
],
注意:
- 所有这些配置都在
server.php,不是独立的runtime.php; - 修改后需重启服务生效;
- 验证是否加载成功,可用
php bin/hyperf.php start -vvv查看启动日志,或访问/status接口(需开启server.status)。
不复杂但容易忽略。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











