2009 10 22 04:49 PM 2237 次查看
分类:Google App Engine 标签:Google App Engine, Python
PHP里有几种不同级别的超全局变量,例如$GLOBALS、$_SERVER和$_ENV等,而GAE却不那么全面,用起来稍微有点别扭。
2009 10 18 09:30 PM 5757 次查看
分类:Google App Engine 标签: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%的概率可以让用户感觉不错,这个性能确实很糟糕。
2009 10 16 11:05 AM 1093 次查看
分类:Google App Engine 标签:Google App Engine
今天在GAE论坛看到Nick Johnson的推荐,所以去reddit看了下。
虽然现在的文章还很少,不过也发现了几篇没看过的,看来也得留意了。
顺带一提,RSS地址是: http://www.reddit.com/r/AppEngine/.rss
2009 10 16 09:11 AM 1467 次查看
分类:Google App Engine 标签:Google App Engine
因为1.2.6发布后,有人报告任务队列的模块路径写错了(漏了labs),所以GAE团队说会尽快修复该bug,没想到立马就有新版本了。
这次的更新只关乎Python,修正了2处错误:
2009 10 15 09:08 PM 1592 次查看
分类:Google App Engine 标签:Google App Engine, Python
随着任务队列API的开放,remote_api这个隐藏的较为低效的模块逐渐可以放弃了。
然而Google实际上还隐藏了一个deferred库,可以更方便地生成后台任务,详情可看《Background work with the deferred library》。
2009 10 15 04:51 PM 1906 次查看
分类:Google App Engine 标签:Google App Engine, Python
刚才在GAE论坛看到Paul Kinlan发帖询问数据库游标操作,他说他在SDK 1.2.6里发现_BaseQuery和Query类都提供了cursor,但没有找到相关文档。
接着Rodrigo Moraes给出了使用的例子,但说只能用于本地开发服务器,GAE上仍不支持。
不过游标已在GAE路线图里提出很久了,用以解决超过1000条记录的查询问题,我想下一个版本应该就会支持了吧。
2009 10 14 11:55 AM 2914 次查看
分类:Google App Engine 标签:Google App Engine, Python
随着GAE SDK 1.2.6的发布,GAE也终于可以用来收邮件了。
按照老规矩,本文仍只介绍Python下的用法。
2009 10 14 09:29 AM 2379 次查看
分类:Google App Engine 标签:Google App Engine
今天凌晨GAE SDK 1.2.6发布了,这次升级仍然同时包括Python和Java,有不少改进和修正。
2009 9 13 12:36 PM 2644 次查看
分类:Google App Engine 标签:Google App Engine, Python
虽然GAE很早就提供了发邮件的功能,但一直不支持收邮件,而只是将其写在了路线图里(原本是2009年上半年的计划,但已经明显延后了)。
由于Nick几次提到了smtp2web,所以便去试了下。
2009 9 13 10:52 AM 2528 次查看
分类:Google App Engine 标签:Google App Engine, Python
刚才在Nick的博客读了一篇《Efficient model memcaching》,才知道原来memcache会使用pickling来存储实体,而GAE不能使用cPickle,所以速度较慢,而且存在兼容性问题,并且可能保存多余的内容(模型实体通常会有个cache镜像)。
而在SDK 1.2.5的数据库API里提供了2个新的方法来解决这个问题:model_to_protobuf(model_instance)和model_from_protobuf(pb)。
这2个方法的速度较快,且不存在兼容性问题。
« 看看还有什么好玩意