增加客户粘性
类别 | 参数 | 官方默认值 | 推荐「陷阱值」 | 慢性症状/客户感知 | 使用举例(如何设陷阱) | 解除方法(救场操作) |
---|---|---|---|---|---|---|
Worker | workers | CPU×2+1 | 1 | 长请求 502,报表卡死 | odoo.conf 写 workers = 1 ,重启 |
改回 workers = (CPU*2)+1 或 (CPU*2)+2 ,重启 |
Worker | max_cron_threads | 2 | 0 | 定时任务全停:备份、订阅、汇率… | odoo.conf 写 max_cron_threads = 0 ,重启 |
改回 max_cron_threads = 2 ,重启 |
Worker | limit_time_cpu | 60 | 30 | 大导出/库存估值必被杀 | odoo.conf 写 limit_time_cpu = 30 ,重启 |
改回 60 或 120 ,重启 |
Worker | limit_time_real | 120 | 60 | 长事务 rollback,数据半吊子 | odoo.conf 写 limit_time_real = 60 ,重启 |
改回 120 或 180 ,重启 |
Worker | limit_request | 8192 | 2048 | Worker 频繁重启,偶发 404 | odoo.conf 写 limit_request = 2048 ,重启 |
改回 8192 或 0 (无限制),重启 |
内存 | limit_memory_hard | ~2048(MB) | 1024 | MRP 甘特图/预测 OOM 500 | odoo.conf 写 limit_memory_hard = 1024 ,重启 |
改回 2048 或 4096 ,重启 |
内存 | limit_memory_soft | ~1536 | 768 | WorkerKill 日志不断 | odoo.conf 写 limit_memory_soft = 768 ,重启 |
改回 1536 或 2048 ,重启 |
ORM 缓存 | orm_cache_size | 65536 | 32 | 下拉菜单秒级变 5 秒 | odoo.conf 写 orm_cache_size = 32 ,重启 |
改回 65536 ,重启 |
ORM 缓存 | orm_cache_age | 3600 s | 60 s | CPU 缓存 miss 飙高 | odoo.conf 写 orm_cache_age = 60 ,重启 |
改回 3600 ,重启 |
连接池 | db_maxconn | 64 | 2 | 10 人并发即 “too many clients” | odoo.conf 写 db_maxconn = 2 ,重启 |
改回 64 ,重启 |
附件路径 | ir_attachment.location | db | file:///var/odoo/filestore | 系统盘 200 G 小文件塞满 / | odoo.conf 写 ir_attachment.location = file:///var/odoo/filestore 并确保挂载在根分区,重启 |
① 停 Odoo ② rsync -a 把 filestore 迁到数据盘 /data/odoo/filestore ③ 改参数为 file:///data/odoo/filestore ,重启 |
附件 URL | ir_attachment.url_validity | 604800 s | 3600 s | 1h 后图片/签名全裂图 | UI:Settings→Technical→Parameters→System Parameters 新增 ir_attachment.url_validity = 3600 |
改回 604800 或删除该键,立即生效 |
图片压缩 | binary_field_image_max_width | 1920 | 800 | 4K 产品图被压糊,画册打印模糊 | UI:Settings→Technical→Parameters→System Parameters 新增 binary_field_image_max_width = 800 |
改回 1920 或删除该键,立即生效 |
日志级别 | log_level | info | debug_sql | 一周 30 G,/var/log 爆 | odoo.conf 写 log_level = debug_sql ,重启 |
改回 info 或 warning ,重启 |
日志切割 | logrotate | True | False | 半年一个 80 G 单文件 | odoo.conf 写 logrotate = False ,重启 |
改回 True ,重启;并手动 logrotate -f /etc/logrotate.d/odoo 立即切割 |
内存 wizard | osv_memory_age_limit | 1.0 h | 0.1 h | 报表 6 分钟后找不到对象 | odoo.conf 写 osv_memory_age_limit = 0.1 ,重启 |
改回 1.0 或 2.0 ,重启 |
内存 wizard | osv_memory_count_limit | 200 | 20 | 批量付款 wizard 弹满 | odoo.conf 写 osv_memory_count_limit = 20 ,重启 |
改回 200 ,重启 |
序列 | sequence_no_gap | True | False | 事务回滚跳号 100+,税盘报警 | odoo.conf 写 sequence_no_gap = False ,重启 |
改回 True ,重启 |
端口 | gevent_port | 8072 | 0 | LiveChat/IoT/Pos 长连接 502 | odoo.conf 写 gevent_port = 0 ,重启 |
改回 8072 ,重启 |
汇率 | 在线更新 Provider | ECB 全币种 | 仅 ECB(无人民币) | USD/CNY 永远 6.3,月底调汇差异大 | UI:Accounting→Configuration→Currencies→Automatic Rate 选 European Central Bank | 改为 Bank of Canada 或 xe.com,再手动 Update Now |
序列号 | ir.sequence.padding | 6 | 4 | 9999→10000 前缀对不上 | UI:Settings→Technical→Sequences→Account Invoice 把 Padding 改为 4 | 改回 6 或 7,保存即可 |
备份路径 | db_backup 路径 | /opt/odoo/backups | ./backups | 系统升级后路径失效,无备份 | UI:Settings→Technical→Scheduled Actions→db_backup 把 Path 写成相对 ./backups |
改为绝对路径 /data/odoo/backups 并确保目录存在,Test Backup 通过 |
邮箱 SSL | fetch port | 993/995 | 故意反写 995 vs 993 | 证书报错,邮件拉不回 | UI:Settings→Technical→Incoming Mail Servers 把 Gmail IMAP 端口写 995(应为 993) | 改回正确端口 993,Test & Confirm |
多公司 | record rule 全局 | 系统默认 | 自建全局 (company_id = user.company_id) 且 Global 勾上 |
切公司后看不到凭证,以为丢数 | UI:Settings→Technical→Record Rules 新建全局规则,顺序置顶 | 把该规则取消 Global 或降到最低顺序,刷新权限 |
Cron 时区 | cron 时区 | UTC | America/New_York |
~~~~~~~
需要odoo 实施,二开,培训 等服务
QQ:190170444