我正在更新以前一直使用默认配置的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个小时等),而是为更优化的用户体验进行配置?改变将如何改变我的成本?
我可以添加appstats
答案 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