1
zhuangzhuang1988 2016-08-28 08:29:51 +08:00
打日志, 看是不是哪里堵塞了, 网络或者数据库。
|
2
Allianzcortex 2016-08-28 08:32:07 +08:00 via iPhone
我猜是 io 问题。。如果是突然出现的话就只能怀疑阿里云了-_-||
|
3
goodryb 2016-08-28 18:22:14 +08:00
@Allianzcortex 重启就能恢复,这个不一定是 IAAS 的问题,多从日志分析比较靠谱
|
4
fofo 2016-08-28 19:34:30 +08:00 via iPhone
把任务分类用不同的队列,用不同的进程来跑队列(建议 docker )来跑,然后观察日志,查找问题。
|
5
kkzxak47 OP 可能真是阿里云 redis 抽风,其实我重启队列就是做重新连接的操作,有时候有效果,有时候没有。
总之在没做任何代码和配置改变的情况下,现在恢复正常了- - |
6
julyclyde 2016-08-29 13:43:35 +08:00
你是不是在用 sentry 啊?
|
11
julyclyde 2016-09-02 12:18:37 +08:00
@kkzxak47 任务内那个 redis 涉及到 redis 里的哪几个数据类型?是不是有 sorted set 啊?
|
13
julyclyde 2016-09-02 13:51:32 +08:00
@kkzxak47 那你在任务函数里,分几段打一下时间吧。
写日志: 任务 id 、步骤、耗时 然后横竖统计一下就知道慢在哪个段里了 我上个月见过 redis 的 sorted set 性能急剧下降导致 celery 总是超时、大量任务积压的情况。这种情况增加 worker 是没用的 |
14
kkzxak47 OP @julyclyde 学习了。想了一下,我们未来可能也有这种危险……
不过这次是一过性的,看阿里云 redis 使用量监控图,上个月除了那天晚上一个凸起,其他时间基本一条直线,我们小应用,队列很少有库存。 |
15
johnzh 2016-09-02 22:30:59 +08:00
我猜是 redis
|
16
37Y37 148 天前
2024 年了,遇到类似的问题,不用动 redis ,重启下任务进程就好了,不明所以
|