芹菜工人失去了心跳,并在Ec2上获得了大量漂移

 手机用户2602913901 发布于 2022-12-19 16:48

我现在正在测试我的芹菜实施超过3台ec2机器.我现在对我的实现非常有信心,但是我遇到了实际的工作执行问题.我的测试结构如下:

1台ec2机器被指定为经纪人,也经营一名芹菜工人

1 ec2机器被指定为客户端(运行客户端芹菜脚本,使用.delay()排队所有任务,也运行芹菜工人

1台ec2机器纯粹是一名工人.

所有机器都有1名芹菜工人在运行.之前,我立即得到了这样的信息:

"来自芹菜@ [其他ec2 ip]的大幅度漂移可能意味着时钟不同步." 然后将打印以秒为单位的漂移量,这将随着时间的推移而增加.我也会收到消息:"从芹菜@ [其他ec2 ip]错过了心跳.

此时机器将完成很少的工作,因此我的ec2中的AutoScaling配置会在cpu利用率水平非常低(<5%)时自动关闭实例

因此,为了尝试解决这个问题,我尝试使用此命令同步我所有机器的时钟(虽然我认为芹菜处理了这个),该命令是在所有机器启动时执行的:

apt-get -qy install ntp
service ntp start

有了这个,他们都表现良好,大约10分钟没有故障,之后我开始错过心跳,我的ec2实例停滞并关闭.奇怪的是,漂移有时增加然后减少.

对于为什么会发生这种情况的任何想法?

我正在使用最新版本的芹菜(3.1)和rabbitmq

编辑:应该注意的是,我在ec2上使用us-west-1a和us-west-1c可用区.

编辑2:我开始认为记忆问题可能是一个问题.我正在使用t2.micro实例,并且在同一台机器上运行3个芹菜工人(只有1个实例),这也是经纪人,仍然导致心跳未命中和失速.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有