Amazon web services t2.micro实例是否足以获取数十万行?

Amazon web services t2.micro实例是否足以获取数十万行?,amazon-web-services,amazon-elastic-beanstalk,Amazon Web Services,Amazon Elastic Beanstalk,我最近在AWS Elastic Beanstalk上托管了一个API,其中包含免费层,我插入了600万行。但我似乎无法始终如一地获取数据(通常每次约20万)。有时我可以拿到大约100k,通常我会得到错误: SyntaxError:在http://***********.us-east-2.elasticbeanstalk.com处JSON输入意外结束/ 或: SyntaxError:JSON中位置0处出现意外标记

我最近在AWS Elastic Beanstalk上托管了一个API,其中包含免费层,我插入了600万行。但我似乎无法始终如一地获取数据(通常每次约20万)。有时我可以拿到大约100k,通常我会得到错误:

SyntaxError:在http://***********.us-east-2.elasticbeanstalk.com处JSON输入意外结束/

或:

SyntaxError:JSON中位置0处出现意外标记<

这意味着它正在获取一个HTML字符串。我插入了一个伪行,并试图获取它,我能够始终获取它


我认为免费层还不够吗?

AWS免费层只是一个账单折扣。它不影响服务

然而,使用
t2.micro确实会对网络带宽和CPU利用率产生影响。见:

您需要检查产生错误的代码,以准确确定发生了什么。例如,由于如此小的实例上的网络带宽有限,在下载所有数据之前可能会超时


如果你愿意花几美分,你可以暂时增加实例的大小(例如
t2.large
m5.large
),看看它是否能改善情况。

你可以使用一些基本的监控工具来检查实例是否达到了极限,是否面临任何资源短缺。这里需要注意的一点是,您的实例可能会占用带宽,并被您的EBS卷功能所限制

还要检查EBS卷的性能指标


监控后,您可以尝试修改实例的大小,因为AWS提供了修改实例大小和族的灵活性。

我将尝试一下,我看不到任何其他可能的解决方案。日志没有提到任何关于我的代码的内容,就像我说的,有时它确实会获取记录。我尝试将其更改为t2.large,但每次我停止它时,它都会自动终止它(为什么是这种默认行为?)。所以我打开了终止保护,然后我可以更改它,但是当我再次启动实例时,它终止了。AWS应该这么糟糕还是只有我?萝拉!AWS Elastic Beanstalk使用自动缩放,它将自动替换任何无响应的实例,以确保应用程序始终运行。您需要进入应用程序的Elastic Beanstalk配置并更改其中的实例类型设置。很高兴知道!您可以使用实例类型,看看哪一种最适合您的需要(可能是
t2.medium
?),但如果负载增加导致将来再次出现问题,那么确定问题的原因也是值得的。我怀疑它可能与CPU或网络有关。哦,它也可能是RAM,因为在
t2.micro上它也很小。自动缩放组对于在繁忙时段缩放负载和确保实例始终运行(通过替换不健康的实例)非常有用。如果您只打算运行一个实例,那么就没有扩展的好处。我不知道你说的“待命”是什么意思。