工人层是否始终处于CPU 100%负载?

问题描述 投票:0回答:2

我有一个在Elastic Beanstalk Worker Tier上运行的Web爬虫,我一直都在运行它。当队列为空时,它只会再次加载所有新的URL并继续运行。它永远不会是空的。

无论我设置了多少线程或进程,我的CPU负载都是100%使用微实例,我对此有点困惑,我很乐意听到一些意见。

加载SQS时CPU是否正常为100%是“正常”吗?我想一旦一条消息完成,实例将继续从SQS读取消息,这意味着即使我将我的实例升级到一个小型或大型实例,它仍将是100%CPU负载,唯一不同之处在于它可以在相同的时间内完成更多的消息。正确?

第二个问题是,如果有100%的CPU负载存在任何大问题?在日志中,有时我会收到qoutxswpoi等Timeout错误。我想这可能与负载过高(?)有关,如果是这样,我能否以某种方式阻止它或降低CPU负载?

amazon-web-services amazon-ec2 elastic-beanstalk amazon-sqs
2个回答
1
投票

对我来说,解决方案是从t1微实例转移到t2微实例。


-1
投票

当你跑到顶部时,ST值是多少?

窃取值下面的例子是0.0%

Script timed out before returning headers: application.py

我相信这是因为您使用的是Micro实例,您无需支付访问所有底层CPU周期的费用。当您配置微实例时,亚马逊不会让您访问100%的现代快速CPU;这只是他们的事情,确保你没有比你付出更多的CPU周期。

在中型实例上尝试您的应用程序,看看您是否得到相同的结果。

© www.soinside.com 2019 - 2024. All rights reserved.