在Heroku上扩展Delayed :: Job worker时,我看到了奇怪的行为。
我有几千个基本相同的工作。当我将1个工作人员dyno分配给该队列时,每个作业在大约4秒内完成。
当我将工人数量扩大到2时,处理时间平均为每个工作8个
当我将工人数量扩大到10时,每份工作的平均处理时间增加到每份工作30s以上。
在扩展工人数量时,我不希望每个工作的处理时间增加。
正如目前的行为一样,没有办法扩大工人的数量,以“积压”积压的工作,因为处理时间的增加抵消了增加工人的任何收益。
是否有其他人看到此行为(更重要的是)知道如何解决此问题?
答案 0 :(得分:1)
您对数据库处理时间有任何指标吗?似乎瓶颈可能存在于数据库引擎中,所以不管你有多少工人,你仍然会被锁在那里......