mirror of
https://github.com/kuaifan/dootask.git
synced 2026-07-31 02:15:57 +00:00
2.1 KiB
2.1 KiB
id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
| id | title | type | feature | scope | locale | aliases | related_tools | related_pages | prerequisites | negative | last_verified | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| common-faq.deploy-perf.faq | DooTask 系统性能慢 / 卡 / 加载时间长 | faq | common-faq | admin | zh |
|
|
|
v1.7.90 |
DooTask 系统性能慢 / 卡 / 加载时间长
问题
打开任务列表 / 消息会话 / 仪表盘明显变慢,CPU / 内存占用高,多人操作时卡顿。
常见原因
数据量大但缺优化
- 消息、任务百万级时必须装 Manticore 全文搜索(AppStore → search)
- 否则降级为 MySQL LIKE,慢且功能弱
资源不足
- 推荐最低 2 核 4G,正常 4 核 8G+
- 用户 > 100 时给 mysql 分独立机器
- 用
docker stats看实时占用
mysql 慢
- 开 slow_query_log 找出慢 SQL,按报告加索引
innodb_buffer_pool_size默认偏小,调到内存的 50%
Swoole 配置
worker_num默认 = 核数,确认多核机器充分用到task_worker_num偏小会导致后台任务积压- 改完必须
./cmd php restart
Redis 容量
- 默认无 maxmemory 限制,大用户量会撑爆
- 设
maxmemory 2gb+maxmemory-policy allkeys-lru
nginx 反代瓶颈
- worker 数 / 连接数太小、静态资源没开 gzip / cache
解决步骤
- 先量化:
docker stats看哪个容器吃满 - 装 Manticore 搜索插件
- mysql 开慢查询找出问题 SQL
- 加 CPU / 内存(最简单)
- mysql 拆到独立机器,DooTask 走外部 DB
不要做
- 不要简单加 worker 不加 CPU,反而更慢
- 生产环境不要留
APP_DEBUG=true,日志会爆