如何将gae app迁移到新配置?

时间:2014-10-10 14:08:31

标签: google-app-engine python-2.7

我正在更新以前一直使用默认配置的webapp。现在我开始使用尝试此配置的模块

application: newkoolproject
# Other settings here...
version: newkool
runtime: python27
api_version: 1
threadsafe: true
automatic_scaling:
  min_idle_instances: 5
  max_idle_instances: automatic  # default value
  min_pending_latency: automatic  # default value
  max_pending_latency: 30ms
  max_concurrent_requests: 50

我支付的时间,数据读取和复杂的搜索总计每天几美元的当前预算(我的限制为每天7美元,以避免因DoSing或其他技术问题而突然出现峰值)。

我是否可以尝试使用内存缓存和其他技术将我的应用程序压缩到freetier中以降低成本?或者我应该忘记达到免费等级(< 28个小时等),而是为更优化的用户体验进行配置?改变将如何改变我的成本?

更新141010 18:59 CET

我可以添加appstats

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要在本地应用引擎开发服务器上打开appestats,完成典型的用户流程。以下是有关如何执行此操作的说明:https://cloud.google.com/appengine/docs/python/tools/appstats

确保您在以下位置计算RPC费用:

appstats_CALC_RPC_COSTS = True

一旦您完成了典型的用户流程,您将转到localhost:8080 / _ah / stats,它将估算您进入生产时需要花费多少特定的呼叫和流量。非常好的工具,因为它甚至可以帮助识别应用程序中的瓶颈和缓慢运行区域。

谷歌建议不仅要使用内存缓存,还要利用任务队列将工作分成更小的单元(尽可能多)。

更新:简单的memcache用法示例

my_results = memcache.get("SOME-KEY-FOR-THIS-ITEM")
if not my_results:
  #Do work here
  memcache.set("SOME-KEY-FOR-THIS-ITEM", my_results)

return my_results