这是通过实例报价的历史图表的截图来最好地解释的。
如果您查看现货实例的很多实例价格,您将会注意到有规律的峰值模式。 看这里:

正如您所看到的,这个计算介质实例的价格经常高于按需价格。
c1.medium实例(按需)只需要$0.186美元。 但在几周的时间内,在B区,价格将会经常上涨至1.20美元。 这是实际按需价格的6倍。
这也不是孤立的。 如果再看一下小区域的b区,频繁出现类似的尖峰。 其中4倍的按需定价。

有谁知道为什么发生这种情况?
这里有一些build议
有人进入1.2美元,而不是0.12美元(我会打这个,因为它发生了20周,超过3周的空间)。
亚马逊通常通过对自己的实例进行竞价来抬高价格,从而获得最大的回报。 (我会打折,因为这将是荒谬和糟糕的生意)
有的公司同时推出了1000台服务器,并希望确保它们全部启动。 (我会打折的,因为他们可能会推出价格低于最低要求价格,为什么你会支付一台服务器的需求以上?)。
这是他们的报告错误?
有一份来自以色列技术研究所的人员对现货市场进行分析。 他们的结论是现货价格不是由投标驱动的,而是由AR(1)函数产生的。 所以在这种情况下,这不是由于其他人的出价,而是由于使用了algorithm。
http://www.cs.technion.ac.il/~ladypine/spotprice-ieee.pdf
尽pipe如此,如果现货市场真正达到可以从需求/供应中获得好价格的水平,我想这可能会发生改变。 正如马特所言,通过现货实例降低成本已经成为一种常见做法,许多高价位的按需价格以避免停机。 从长远来看,它仍然具有成本效益…但它仍然是? 真正的问题是,除了亚马逊,没有人真正知道价格是如何创造的。
EC2不再使用人工AR(1)过程来控制最低价格。 即使他们这样做了,他们也只是改变了最低的价格 – AR(1)的过程就停滞了,从来不会导致价格跳过按需价格。 这种跳跃既可以来自用户指定高价格(可能比他们真正想要支付的价格更高),也可以来自亚马逊,希望closures一部分现货实例,就像在2010年夏天为m1.small做的那样。
您可以在我们的论文的期刊版本中阅读更多内容,在更新的最后部分(后续章节)中:
这不是一个错误,这是一个优先级/可用性问题,因为按需实例比现货实例优先于现货出价。 这源于Amazon EC2的声明,即您“ 在备用的Amazon EC2实例上出价 ”。
因此,当按需实例的需求增加时,可用的备件就会减less,并且现场实例的可用性会降低推动现货价格,根据竞争性的现货出价。
许多现场投标人未能理解按需实例的更高优先级,并且出价高于按需定价,试图获得优先于按需实例请求的优先级,但是由于按需实例具有更高的优先级,现货价格。
反过来,这些按需定价的价格竞标相互竞争,在现货实例可用性较低时推动最高价格比按需定价多倍。
尽pipe没有提出以下要求,但我对于长期工作负载的最低成本现场实例pipe理的build议是:
这不是报告中的错误。 有时候,现货价格会上涨。 在过去,他们飙升到巨额。 从那以后,亚马逊改进了现货实例投标和分配的algorithm,但即使如此,现货价格也不时出现上涨。
早在2011年9月,美国东部1区AZ的m2.2xlarge的现货价格猛涨至999美元/小时。
原因很简单:人们指定的最高现货价格高于按需价格,需求推高了价格。
许多人使用专有实例作为最小化正在运行的EC2实例的成本的一种方式。 他们通常会指定较高的最高现货价格,以减less他们的现货实例出价和终止的可能性。 从长远来看,这是一场赌博,但是如果不小心的话,它将面临非常快的花费。