代码部署需要很长时间
Codedeploy taking long time
我们在 TargetResponseTime 阈值上触发自动缩放。新 EC2 实例的启动和恢复健康需要将近 20 分钟。当我们检查 codedeploy 时,我们看到两种时间,一种在 Deployment history start time Aug 22, 2019 3:10 PM 和 end time Aug 22, 2019 3:28 PM。转到该特定部署,我们看到持续时间为 2 分 21 秒,从 ApplicationStop 到 AfterAllowTraffic。剩下的时间都花在哪儿了?为什么部署历史显示 18 分钟,而部署时间是 2 分 21 秒?
我们怎样才能减少这个时间?
背景:为了通过自动缩放启动 EC2 实例,我们有一个安装 codedeploy 代理的启动配置。该实例将在 Auto Scaling 组实例的生命周期中处于 Pending:Wait 状态,带有一个挂钩 CodeDeploy-managed-automatic-launch-deployment-hook-DGENSVPC1b-f51a955c-194e-4a51-ad9b-1489101325ba
autoscaling:EC2_INSTANCE_LAUNCHING,放弃,600
如果不深入了解您的系统,很难说。它的范围可以是您在 EC2 用户数据或 ELB 健康检查设置中的任务。您能否再看看不同的 CodeDeploy 生命周期事件,看看时间在哪里聚集?例如。如果您查看特定的 CodeDeploy 操作,您可以 "view events" 查看部署生命周期事件的列表以及完成每个事件所花费的时间。找出花费时间最长的问题后,您就可以开始缩小根本原因的范围。
使用 Amazon 的 AMI 而不是自定义 AMI 有助于将此时间从之前的 20 分钟减少到约 5-6 分钟。
我们在 TargetResponseTime 阈值上触发自动缩放。新 EC2 实例的启动和恢复健康需要将近 20 分钟。当我们检查 codedeploy 时,我们看到两种时间,一种在 Deployment history start time Aug 22, 2019 3:10 PM 和 end time Aug 22, 2019 3:28 PM。转到该特定部署,我们看到持续时间为 2 分 21 秒,从 ApplicationStop 到 AfterAllowTraffic。剩下的时间都花在哪儿了?为什么部署历史显示 18 分钟,而部署时间是 2 分 21 秒?
我们怎样才能减少这个时间?
背景:为了通过自动缩放启动 EC2 实例,我们有一个安装 codedeploy 代理的启动配置。该实例将在 Auto Scaling 组实例的生命周期中处于 Pending:Wait 状态,带有一个挂钩 CodeDeploy-managed-automatic-launch-deployment-hook-DGENSVPC1b-f51a955c-194e-4a51-ad9b-1489101325ba autoscaling:EC2_INSTANCE_LAUNCHING,放弃,600
如果不深入了解您的系统,很难说。它的范围可以是您在 EC2 用户数据或 ELB 健康检查设置中的任务。您能否再看看不同的 CodeDeploy 生命周期事件,看看时间在哪里聚集?例如。如果您查看特定的 CodeDeploy 操作,您可以 "view events" 查看部署生命周期事件的列表以及完成每个事件所花费的时间。找出花费时间最长的问题后,您就可以开始缩小根本原因的范围。
使用 Amazon 的 AMI 而不是自定义 AMI 有助于将此时间从之前的 20 分钟减少到约 5-6 分钟。