我正在尝试估算应用商店中GAE的每月费用,而我并不真正理解什么是实例,我在一个实例中可以做些什么。
我可以只使用多个线程的一个实例来处理多个客户端吗?因为我每天每个应用程序有28小时的免费实例(http://cloud.google.com/pricing/),这是否意味着我不会为我的服务器应用程序一直运行付费?
答案 0 :(得分:3)
实例是运行代码的虚拟服务器实例,可以向客户端提供请求。这通常是并行完成的(Goroutines,Java线程,带2.7的Python线程),以便最有效地利用可用资源。
响应时间取决于您在代码中执行的操作,并且通常依赖于IO。如果你有一个串行数据库查找的瀑布,它需要比你只有一个多重命令和可能是异步写入的时间更长的时间。
与GAE达成的部分协议是Google为您处理弹性问题。如果有很多连接在等待,则会根据需要启动新实例(直到您的配额耗尽)。这意味着可能很难预先估算成本,因为您并不确切知道代码的效率以及您需要多少资源。我推荐一种方案,其中更多的使用意味着更多的收入,每个请求的收入高于每个请求的成本。 :)
您可以调整设置,说您希望请求在队列中等待,或者总是有几个备用实例准备好提供新请求,这将影响您的成本和用户的响应时间。
在IaaS场景中,您可以说您将使用五个实例并且这是成本,但实际上您当地时间可能只需要1个,而当天剩余的时间只需要25个,这意味着您的用户很可能会看到连接中断或者用户体验不佳。
免费实例通常能够在开发期间处理测试流量而不会耗尽配额。
答案 1 :(得分:0)
AppEngine可能会决定您需要运行多个实例来处理请求,因此将启动另一个实例。您无法将其限制为一个正在运行的实例。事实上,有时候不清楚为什么AE会在请求很低的情况下启动另一个实例,但是如果它确定它需要另一个热实例准备处理请求,如果服务实例也是如此接近他们的极限。