【问题标题】:How to migrate gae app to new config?如何将 gae 应用程序迁移到新配置?
【发布时间】:2014-10-10 14:08:30
【问题描述】:

我正在更新我以前使用默认配置的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 或其他技术问题而突然飙升)。

我是否可以尝试使用 memcache 和其他技术将我的应用程序压缩到 freetier 以降低成本?或者我应该忘记达到免费层(

更新 141010 18:59 CET

我可以添加 appstats

【问题讨论】:

    标签: google-app-engine python-2.7


    【解决方案1】:

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

    确保打开计算 RPC 成本:

    appstats_CALC_RPC_COSTS = True
    

    完成典型的用户流程后,您将转到 localhost:8080/_ah/stats,它会估算在您投入生产时特定调用和流程的成本。非常棒的工具,因为它甚至可以帮助识别应用程序中的瓶颈和运行缓慢的区域。

    Google 的建议是不仅使用 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
    

    【讨论】:

    • 好!现在我可以添加 appstats。我会看看那里的费用。我通过查看我新添加的 appstats 更新了问题。
    • 好消息是,您的大部分工作似乎都是在 /q 中完成的。具体来说,您有大量的读取和查询可以在 memcache 语句前面(参见上面的示例)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多