【发布时间】:2014-12-26 08:15:03
【问题描述】:
我有一个在 Elastic Beanstalk Worker Tier 上运行的网络爬虫,并且一直在运行。当队列为空时,它会再次加载所有新的 url 并继续前进。它永远不会是空的。
无论我设置了多少线程或进程,我的 CPU 负载都是 100% 使用微型实例,我对此有点困惑,我很想听听一些意见。
加载 SQS 时 CPU 处于 100% 是否“正常”?我猜该实例将在一条消息完成后立即继续从 SQS 读取消息,这意味着即使我将实例升级到小型或大型实例,它仍将处于 100% CPU 负载,唯一的不同之处在于它可以在相同的时间内发送更多消息。对吗?
第二个问题是 100% CPU 负载是否有什么大问题?在日志中,有时我会收到诸如Script timed out before returning headers: application.py 之类的超时错误。我想这可能与负载过高有关(?),如果是这样,我可以防止它或以某种方式降低 CPU 负载吗?
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-sqs