laravel horizon 导致redis内存突增
发布网友
发布时间:2024-10-14 01:36
我来回答
共1个回答
热心网友
时间:2024-10-15 08:23
Laravel项目中使用Redis作为队列运作一直平稳,直至引入Horizon队列监控后,两周内收到了Redis内存过载警报。深入排查发现有两个分片内存异常,总量超过1.5G。初步推测可能是由于大key(BigKey)导致的问题,通过Redis监控进一步发现,Horizon内部存在大量数据。
尝试暂停Horizon服务后,观察一段时间,却发现数据量并未减少,反而持续增长。进一步研究Horizon配置,发现其默认记录重试和完成的记录,单位是分钟。为了缓解内存压力,对配置进行调整。再次检查内存使用情况,发现一切恢复正常。
对于不再需要Horizon的场景,可以采取以下步骤进行彻底卸载:首先,使用composer卸载相关包。接着,修改config/app.php文件,移除与Horizon相关的配置内容。随后,删除与Horizon相关的文件。最后,重启队列服务,确保环境恢复正常运行状态。