Category:Web开发   Posted on 2010-05-18 02:13:33    Last modified on 2010-05-21 02:08:35

        这几天做了四件事情:

  1. 稍微修正了IE7标准模式下的CSS不兼容的问题
  2. 增加了对每个页面10分钟的缓存。增加缓存主要出于两方面考虑,一是效率,而是CPU使用率,在这里,CPU时间就是Money。我使用了Django自带的缓存机制暂时实现了缓存,没有区分前后台,工作的很好。之后有打算换成Google自己的缓存方案,不过要有更多代码开发量。
  3. 增加了对每个Tag下有几篇文章的统计,之后希望做一个Tag云,所以必须统计出来每个Tag下有几篇Post。为了效率,还有BigTable中感觉有些不明所以的祖先关系,我没有使用更大的事务嵌套来保证每次统计不会受到网络或者服务器宕机等因素的影响。
  4. 对于第三点,在极端情况下统计结果可能会有误差,我使用计划任务(定时任务)每周跑一次修正此误差,此计划任务的效率仍然有待提高。

        App Engine集成Django后使用计划任务仍然有些不方便,除非你不会使用到数据库等可能涉及Django的组件(这种情况可能并不多见),否则计划任务的执行也不能逾越Django而从App Engine直接调用任务代码本身。因为初始化Django环境必须要经过main脚本,而后Django视图处理完之后必须返回一个应答——必须有返回值,这可能也不是计划任务本身想看到的,许多计划任务只是在后台执行,而并不需要向调用者返回什么数据。

        这些都是设计方面的东西,当然Django当初就不是为App Engine而设计的,整合过程中,出现问题是必然的,幸运的是,这些问题影响都不大。

        以下是增加缓存之后的数据,可以看到,缓存过期之后的请求响应时间比较长,其余时间请求的响应时间都已经降下来了,比较让人高兴,呵呵!

增加了缓存后的请求响应时间统计

评论

云在天边 于 2010-05-19 15:31:10
西电毕业的啊,来支持一下

发表评论

主题:
作者:
邮箱:
个人站点:
内容(必填):