我有一个单页Angular应用程序,它向Rails API服务发出请求。两者都在t2xlarge Ubuntu实例上运行。我正在使用Postgres数据库。
我们的流量增加了,我的Rails API变慢了。有时候,我收到一条错误,说“铁路应用程序的乘客队列已满”。
服务器上的自动缩放功能正常;再创建三个实例。但我无法追查这个问题。我需要root访问权限升级,这是我没有的。请帮帮我。
答案 0 :(得分:2)
正如您所提到的那样,您正在使用T2.2xlarge实例类型。首先我想告诉你不要在生产环境中使用T2实例类型。 T2实例的原因使用CPU Credit
。让我们来看看this
如果我使用所有积分会怎样?
如果您的实例使用其所有CPU余额,性能 保持基准表现水平。如果您的实例正在运行 信用额度低,您的实例的CPU信用消耗(因此 CPU性能)逐渐降低到基本性能水平 超过15分钟的间隔,所以你不会经历一个尖锐的 当您的CPU积分耗尽时性能下降。如果你的 实例始终使用其所有CPU余额,我们建议 较大的T2大小或固定的性能实例类型,如M3或 C3 强>
我不确定你是不是面对out of CPU Credit problem
,因为你使用的是Xlarge类型,但我认为你应该使用其他fixed performance instance types
。因此,实例的性能可能是问题的一部分。您应该使用cloudwatch监控2个指标:CPUCreditUsage and CPUCreditBalance
以确保问题。
其次,你的ASG
怎么样?横向扩展后,您的服务是否稳定?如果是这样,我认为你不再关心这个问题,因为ASG做了它的责任。
答案 1 :(得分:0)
请检查以下
如果要打开与数据库的连接,请确保将其关闭。
<link rel="stylesheet" ref="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">
答案 2 :(得分:0)
有许多因素可能导致EC2实例(或任何系统)看起来运行缓慢。
亚马逊拥有CloudWatch,可以为您提供除可用磁盘空间以外的所有内容的监控(您可以为此指标添加代理到您的实例)。这也可以帮助您快速查看实例发生的情况。
监控您的EC2实例和您的数据库。
你提到T2实例。这些是可突发的CPU,这意味着如果你的CPU使用率一致,那么你将需要切换到固定性能的EC2实例。 CloudWatch应该帮助您找出所需内容(CPU或内存或磁盘或网络性能)。
答案 3 :(得分:0)
这完全独立于AWS Server。看起来你的软件需要更多的果汁(RAM,StorageIO,网络),而且一台机器还不够。您需要使用cloudwatch评估指标,并根据软件需要调整软件需求。
可能是内存泄漏或处理泄漏也可能导致此问题。您需要创建集群或服务器场来处理负载。
希望它有所帮助。