Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services EC2 t2.2“中等稳定信贷”;“储蓄”;计算_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Amazon web services EC2 t2.2“中等稳定信贷”;“储蓄”;计算

Amazon web services EC2 t2.2“中等稳定信贷”;“储蓄”;计算,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我使用的是T2.medium实例。一天中有三分之一的时间我在做密集的统计计算,并计算出剩下的2/3时间我将以每小时24的速度“赚取”学分 但事实并非如此。这是我最近两天的使用情况: 这是我的信用账户: 直到昨天下午6点,我才用了一天(超过一天)。我用了五个小时。然后我希望我的“账户”每小时累积24个学分,但在9-10个小时内几乎什么都没有发生,然后它会按预期累积9个小时,然后再次变平 我不知道发生了什么,也不知道这是否是一个错误。有人有好的解释吗 编辑:我在下面列出了一周的活动。我还是搞不懂

我使用的是T2.medium实例。一天中有三分之一的时间我在做密集的统计计算,并计算出剩下的2/3时间我将以每小时24的速度“赚取”学分

但事实并非如此。这是我最近两天的使用情况:

这是我的信用账户:

直到昨天下午6点,我才用了一天(超过一天)。我用了五个小时。然后我希望我的“账户”每小时累积24个学分,但在9-10个小时内几乎什么都没有发生,然后它会按预期累积9个小时,然后再次变平

我不知道发生了什么,也不知道这是否是一个错误。有人有好的解释吗

编辑:我在下面列出了一周的活动。我还是搞不懂算法:


更新:用于计算t2 CPU贷方余额的规则似乎已更改,因此提示此问题的问题不应再产生影响

根据客户反馈,我们已经使用新的CPU信用分配策略更新了T2实例,该策略在所有情况下都与以前的策略相同或更好

现在,在实例终止或停止之前,赚取的CPU积分不会过期。T2实例仍然可以获得与实例大小相同的最大级别。现在,只要当前CPUCreditUsage低于基线,CPUCreditBalance就会增加,并且可以增长到实例大小允许的最大值

h/t:用于更新

最初的答案如下


在过去的几个小时里,这个问题让我感到相当痛苦,因为根据我对t2实例的了解,这些图表几乎是有意义的。差不多了,但不完全是,而且我也无法指出这个问题。那是最糟糕的一种。尤其是作为t2机器提供的价值主张的超级粉丝

但我终于弄明白这里发生了什么

有一个CPU积分的概念,文档似乎没有解释,但数学是可行的,并且在现实世界的观察中,这个解释很好地支持:

最近获得的CPU积分首先使用,而不是最后使用。

秩序重要吗?是的

在测试中,我使用了t2.micro(主要是因为我有一个空闲的运行了几天,需要做些什么,我不想让新实例的额外“初始”积分掩盖观察结果),但是t2类中的所有实例类型都有类似的行为

作为背景:在t2类中,CPU积分以不同的速率获得,但对于类中的所有实例类型,CPU积分以相同的速率使用:

CPU积分提供一分钟完整CPU核心的性能

t2.micro和t2.small只有一个内核,因此它们可以在100%的CPU利用率下每分钟消耗1个或每小时消耗60个学分。t2.medium和t2.large是双核的,因此它们在两个核上的CPU利用率均为100%时,每分钟最多可消耗2个学分,或每小时消耗120个学分

如果1个学分=1分钟内1个核心的100%,那么1个学分也等于5分钟内1个核心的20%。由于Cloudwatch图形的间隔为5分钟,因此我设置了以下测试:

我安装了一个t2.micro,它已经运行了几个星期,基本上没有负载。我安装了一个方便的实用程序,它允许您使用指定的参数使机器“看起来很忙”——例如,将CPU的利用率保持在20%

$ screen -S eat_cpu
$ ./lookbusy -v -c 20 -r fixed
这正是您所期望的,每5分钟消耗1个CPU点数。“CPU信用使用”图表证实了这一点,显示每5分钟使用1个信用。(CPU利用率图表和
top
,都确认了20%。)

但是我的信用余额怎么了?每5分钟消耗1个信用。这似乎不对,不是吗?我是说,是的,我只是说我用了这么多,但是。。。我也应该每小时挣6个学分,所以我应该每5分钟只消耗0.5个学分的余额,对吗

等一下。。。再次核对数字:我每小时挣6英镑,每小时花12英镑,所以,是的。。。这似乎应该是每小时净减少6,而不是12。。。正确的?很明显,有些事情并不像我预期的那样,因为我的余额肯定会以每小时12的速度下降,而我的CPU肯定只以20%的速度运行

我似乎没有获得任何积分来抵消我的使用量。这怎么可能

除非

从给定的5分钟间隔中未使用的已获得学分在获得后24小时到期

24小时前,我的实例完全闲置。在那一小时里,我获得了6个学分,我。。。没有用。我现在不使用它们吗?我不应该吗

在添加任何新获得的积分之前,将从CPU积分余额中删除任何过期的积分

积垢。这有关系吗?这一小时,我获得了6个新学分。但就在那之前,我从24小时前损失了6个学分。然后这个小时我花了12学分。。。所以我的余额下降6,上升6,再下降12。好吧,这解释了一小时-12的变化,但是

这就是原因吗

我是一个贪婪的文档读者,所以我知道关于过期信用的方面。。。但我一直认为这只是空闲实例徘徊在其最大平衡附近的原因,没有任何其他意义。怎么可能呢?如果我的积分低于最大值(对于t2.micro,6 x 24=144),那么我怎么会有积分需要过期呢

如果我24小时前的积分总是对我不利,那么无论我做什么,我的余额不是都会趋向于零吗

除非

经过一整晚的辗转反侧
     | spends 6+6 credits  | expire 6 credits
test | earned this many    | earned this many
hour | hours before hour 0 | hours before hour 0
-----+---------------------+--------------------
 0       -1,  -2                   -24
 1       -3,  -4                   -23
 2       -5,  -6                   -22
 3       -7,  -8                   -21
 4       -9, -10                   -20
 5      -11, -12                   -19
 6      -13, -14                   -18
 7      -15, -16                   -17