AWS ELB 502 每天同一时间
AWS ELB 502 at the same time every day
首先了解一下我的设置:
- 1 ELB
- 4 个 EC2 实例
- 2 台网络服务器
- 1 到 运行 迁移、队列 (beanstalkd) 和调度程序
- 1 'services' 服务器(socket.io 实例等等)
RDS- MySQL
- Elasticache 上的 Redis
- 用户资产的 S3
每天 10:55PM,用户报告出现白屏和 502 Bad Gateway 错误。 ELB 报告两个 EC2 实例都已停止服务,但我通过 SSH 连接到它们并且完全能够通过绕过 ELB 使用该站点。 RDS 和 Elasticache 维护 windows 不在此期间,两个实例也没有负载。我在 ELB 访问日志中找不到任何内容,在实例端的 nginx 日志中找不到任何内容,在 Laravel 应用程序日志中找不到任何内容。此时 Laravel 调度器中也没有任何 运行s。
我唯一发现的是,在我的 CloudWatch 指标中,ELB 延迟峰值高达大约 5-10 秒。所有这些导致每天同一时间大约有 5-15 分钟的停机时间。我似乎找不到导致问题的任何原因。
对于可能导致这种情况发生的原因,我 100% 感到困惑。感谢您的帮助。
可能发生的情况是您的网络服务器 运行 连接中断,ELB 无法执行健康检查并停止服务。实际上,其中一台机器遇到这种情况并停止服务,而另一台机器将作为级联效应被杀死。
Web 服务器可以同时保持多少个连接?
您是否在发生这种情况的那个时间点处理了一个特别的"heavy request"?
添加更多网络服务器是否可以解决您的问题?
首先了解一下我的设置:
- 1 ELB
- 4 个 EC2 实例
- 2 台网络服务器
- 1 到 运行 迁移、队列 (beanstalkd) 和调度程序
- 1 'services' 服务器(socket.io 实例等等)
RDS - MySQL
- Elasticache 上的 Redis
- 用户资产的 S3
每天 10:55PM,用户报告出现白屏和 502 Bad Gateway 错误。 ELB 报告两个 EC2 实例都已停止服务,但我通过 SSH 连接到它们并且完全能够通过绕过 ELB 使用该站点。 RDS 和 Elasticache 维护 windows 不在此期间,两个实例也没有负载。我在 ELB 访问日志中找不到任何内容,在实例端的 nginx 日志中找不到任何内容,在 Laravel 应用程序日志中找不到任何内容。此时 Laravel 调度器中也没有任何 运行s。
我唯一发现的是,在我的 CloudWatch 指标中,ELB 延迟峰值高达大约 5-10 秒。所有这些导致每天同一时间大约有 5-15 分钟的停机时间。我似乎找不到导致问题的任何原因。
对于可能导致这种情况发生的原因,我 100% 感到困惑。感谢您的帮助。
可能发生的情况是您的网络服务器 运行 连接中断,ELB 无法执行健康检查并停止服务。实际上,其中一台机器遇到这种情况并停止服务,而另一台机器将作为级联效应被杀死。
Web 服务器可以同时保持多少个连接? 您是否在发生这种情况的那个时间点处理了一个特别的"heavy request"? 添加更多网络服务器是否可以解决您的问题?