2010年10月22日星期五

GAE的基本资源配额和APP优化建议

无论从主机托管服务商购买个虚拟主机还是哪里去注册个免费空间,大家都会关注这个空间的资源配置使用情况。同样,GAE作为一个云计算平台,每个申请的APP都有个基本的资源使用最大限制。如果你已经在GAE上申请了一个APP,那么你在APP的管理Dashboard页面内会看到如下一张Resource资源使用情况表格: 

gae配额

资源解读

如上表格是一个24小时的资源使用统计。其中:
  • CPU Time: 表示每天6.5小时CPU运算时间,这个很拗口,怎么理解呢?他不是表示你的APP分配给你24小时之中某个6.5小时范围运算。我查了下相关官方文档,里面有说“CPU 时间以’秒‘为单位报告,其等于 1.2 GHz Intel x86 处理器在该时间量中能够执行的 CPU 周期数。”也就是这个CPU时间衡量的是你的APP对CPU计算资源耗时的统计。事实上我们一个APP的某个接口在一次请求(WEB应用可以理解为一个页面访问)是在毫秒级的,也就是说只占用了几毫秒时间。当然如果你的APP应用需要大量计算,那这个资源消耗也是非常快的。
  • Outgoing Bandwidth:表示数据的出流量。每天最多1G。如果你的应用是用来让用户下载大文件的,那肯定不适合了。
  • Incoming Bandwidth:表示数据的进流量。一般我们已经够用了。因为我们一般不太做大量数据的上传。
  • Total Stored Data: 表示每天最多空间存储量。
  • Recipients Emailed: 表示每天邮件接收数。
除了以上这张24小时资源统计表格外,在官方文档里我们还可以看到每分钟的配额限制。为什么还要每分钟呢,那是Google为了负载均衡,使得在云计算中的其他APP使用不会受到大的突然冲击影响。

详细官方文档可以查看这里:http://code.google.com/intl/zh-CN/appengine/docs/quotas.html

优化建议

对于一般的使用来说,上述资源指标中CPU时间和出带宽是比较关心的。那么如果你的APP是用来做WEB应用(比如我是用来搭建了一个自己的个人博客),而且访问量比较大的话,需要考虑如何在GAE给的免费配额情况下让你的APP使用起来依然很流畅。根据WEB网页的结构,我做了如下几点优化建议:
  1. 在网页上播放的FLASH等视频文件,我们可以放到国内的优酷、土豆等网站上。我们只需要在发布文章的时候链接到你的博客上即可。
  2. 图片可以放到一些支持外链的相册网站上,如Google自己的Picasa,比如flickr。都是很优秀的图片免费托管服务,最重要的是他们支持外链。
  3. 供用户下载的文件一律存储到其他空间上,有很多专门提供存储文件网站。如divshare,xdrive等
  4. 将网页尽可能的生成静态HTML文件。
以上前3点都是为了节约我们的带宽流量;第四点就是尽量减少你的APP对CPU的消耗。做以上优化目的就是为了支撑你的APP顺利运作

后记:

当然Google还提供收费的APP资源配额。如果你是用来做商业用途,免费配额可能支撑不了你的业务。那么你可以稍微花点钱向Googel购买相应的资源。

0 评论:

发表评论