更新一下对GAE数据库的了解

标签:Google App Engine

从接触Google App Engine至今已有10个月了,随着版本的更新,datastore也在不断改善,支持了不少新的特性,所以我重新学习了一遍,并补上一些以前遗漏的知识。
当然,基于的是Python环境,毕竟使用和测试都较Java而言更为方便。

GAE数据库对时间属性的精确查询

标签:Google App Engine, Python

考虑一个聊天室的消息模型,一般会有如下属性
class Message(db.Model):
  author = db.UserProperty(auto_current_user_add=True)
  content = db.StringProperty(multiline=True)
  time = db.DateTimeProperty(auto_now_add=True)
为了省事,我不想去维护一个ID字段,只想对time字段排序,并查询出比最近一次查询结果的时间更晚的消息。

选择Google App Engine框架:慎用Django

标签:Google App Engine, 性能

GAE开发者或许会注意到这点,查看控制台的访问记录时经常会发现红色或黄色标记,表明该访问使用了较多的CPU时间。
对用户而言,0.5秒以内的响应时间(含网络延迟)比较完美,1秒以内尚可接受,2秒以上就会觉得很慢了。
而我使用的cpedialog,初次访问首页将花费1.9秒的CPU时间和0.7秒的API CPU时间(约1.6秒响应时间,不含网络延迟),紧接着的访问只需0.35秒的CPU时间和0.17秒的API CPU时间(约0.2秒响应时间),隔几分钟后访问则需要1.1秒的CPU时间和0.17秒的API CPU时间(约0.8~1.2秒响应时间)。
由于这个blog我基本不使用,所以只有约5%的概率可以让用户感觉不错,这个性能确实很糟糕。

GAE Python SDK 1.2.7版发布

标签:Google App Engine

因为1.2.6发布后,有人报告任务队列的模块路径写错了(漏了labs),所以GAE团队说会尽快修复该bug,没想到立马就有新版本了。
这次的更新只关乎Python,修正了2处错误:

« 看看还有什么好玩意