将Flex留言板搬家至Google App Engine的体会

简介:

花了一天时间,将原先放在免费虚拟主机上的 Flex 留言板,连同原先的数据库数据,全部搬家到了 Google App Engine 上,这里大概说说体会:

1、选 Python 还是选 Java ?
原先的留言板后台是PHP,准备上 GAE 就得面临这个选择。几经尝试后还是决定选 Java。
本来 Python 功能同样强大,比 Java 更敏捷,主要问题是没有一个好用的 IDE,这就很麻烦。少个冒号、少导入个包、输错一个函数名,你不会得到任何提示,程序运行起来到满屏的错误信息,根本无法迅速查找错误,所以最后选择了 Java。语法虽然罗嗦点,但是一切都中规中矩,实在不行还有Groovy这位“皇储”,呵呵。

 

2、GAE 速度怎么样?
说实话,很一般,Google 的粉丝不要拍砖哦,我这有证据。下面的两个网址,是同一个的 Flex 留言板程序,数据也一样。
第一个在 GAE 上

第二个在美国的一个免费虚拟主机上,距离远,而且速度带宽都有限制,自己比较下吧,我这里GAE 要慢很多。

要是同国内付费的虚拟主机比较,可能差距更大。
Google App Engine

普通虚拟主机


3、GAE 数据库好使吗?
还不错。但是 Google 应该在现有的 API 上再简单的包装一层,立刻就可以减少 80% 的重复代码。
比如,原先 PHP 版的留言板,在用 CodeIgniter 框架的情况下,一条留言从 request 到插入数据库,只需要几条语句。而现在要几十条语句。只要简单再包装一下,应该可以达到类似的效果。

4、GAE 配额都有什么限制?
限制的种类非常多,但是配额数都够用了。经过三四天的折腾,CPU 也才用了0.06个小时。
其他包括各种 API 调用次数也都是有限制的,我为了搬家,抓取原来的数据,使用了16次 UrlFetch API,好在配额六十多万次,够用了。
程序上传发布一天只能250次,我现在用了9次,问题也不大。
用的最多的是 Datastore API  ,已经用了一千多次了,但是配额是每天一千万次,哈哈,够用了吧。

Requests

Quotas are reset every 24 hours. Next reset: 5 hours

Resource Daily Quota Rate help
CPU Time
0%
0% 0.11 of 46.30 CPU hours Okay
Requests
0%
0% 2142 of 1333328 Okay
Outgoing Bandwidth
1%
1% 0.07 of 10.00 GBytes Okay
Incoming Bandwidth
0%
0% 0.00 of 10.00 GBytes Okay
Secure Requests
0%
0% 0 of 1333328 Okay
Secure Outgoing Bandwidth
0%
0% 0.00 of 10.00 GBytes Okay
Secure Incoming Bandwidth
0%
0% 0.00 of 10.00 GBytes Okay

Datastore

Datastore API Calls
0%
0% 4024 of 10368000 Okay
Stored Data
0%
0% 0.00 of 1.00 GBytes Okay
Data Sent to API
0%
0% 0.00 of 12.00 GBytes Okay
Data Received from API
0%
0% 0.02 of 116.00 GBytes Okay
Datastore CPU Time
0%
0% 0.09 of 62.11 CPU hours Okay

Mail

Mail API Calls
0%
0% 0 of 7000 Okay
Recipients Emailed
0%
0% 0 of 2000 Okay
Admins Emailed
0%
0% 0 of 5000 Okay
Message Body Data Sent
0%
0% 0.00 of 0.06 GBytes Okay
Attachments Sent
0%
0% 0 of 2000 Okay
Attachment Data Sent
0%
0% 0.00 of 0.10 GBytes Okay

UrlFetch

UrlFetch API Calls
0%
0% 0 of 657084 Okay
UrlFetch Data Sent
0%
0% 0.00 of 4.00 GBytes Okay
UrlFetch Data Received
0%
0% 0.00 of 4.00 GBytes Okay

Image Manipulation

Image Manipulation API Calls
0%
0% 0 of 864000 Okay
Data Sent to API
0%
0% 0.00 of 1.00 GBytes Okay
Data Received from API
0%
0% 0.00 of 5.00 GBytes Okay
Transformations executed
0%
0% 0 of 2592000 Okay

Memcache

Memcache API Calls
0%
0% 0 of 8640000 Okay
Data Sent to API
0%
0% 0.00 of 10.00 GBytes Okay
Data Received from API
0%
0% 0.00 of 50.00 GBytes Okay

Deployments

Deployments
0%
0% 0 of 250 Okay

 

最后看看超出配额的价格,下面的表格是每天0.1美元预算、偏重于存储的情况,11G的空间,够用了,博客园干脆也搬到 App Engine 上吧,呵呵。


Resource (% of Budget) Budget Unit Cost Paid Quota Free Quota Total Daily Quota
CPU Time 40% $0.05 $0.10 0.50 46.30 46.80 CPU hours
Bandwidth Out 8% $0.00 $0.12 0.00 10.00 10.00 GBytes
Bandwidth In 2% $0.00 $0.10 0.00 10.00 10.00 GBytes
Stored Data 50% $0.05 $0.005 10.00 1.00 11.00 GBytes*
Recipients Emailed 0% $0.00 $0.0001 0.00 2000.00 2000.00 Emails

* Your application's maximum data storage capacity.



欢迎大家来我的新家疯狂留言,进行残酷的压力测试,看看能不能把它刷爆,呵呵。
我的GAE主页是:http://myqiao-app.appspot.com/exercise/
 

==================================================



本文转自左洸博客园博客,原文链接:http://www.cnblogs.com/myqiao/archive/2009/05/12/1454670.html,如需转载请自行联系原作者


目录
相关文章
|
6月前
|
编解码 iOS开发 开发者
App上架Apple App Store和Google Play流程
App上架Apple App Store和Google Play流程
173 2
|
6月前
|
开发工具 Android开发
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
176 1
|
9月前
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
761 1
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
|
9月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2909 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
9月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
294 0
|
9月前
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
141 0
|
9月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
126 0
|
9月前
|
数据采集 编解码 人工智能
Google Earth Engine(GEE)——全球每日近地表空气温度(2003-2020年)
Google Earth Engine(GEE)——全球每日近地表空气温度(2003-2020年)
293 0
|
9月前
|
人工智能
Google Earth Engine(GEE)——1984-2019年美国所有土地上的大火烧伤严重程度和范围数据集
Google Earth Engine(GEE)——1984-2019年美国所有土地上的大火烧伤严重程度和范围数据集
94 0
|
9月前
Google Earth Engine(GEE)——当你无法进行两个图像相减的时候发生错误lst2020.subtract is not a function
Google Earth Engine(GEE)——当你无法进行两个图像相减的时候发生错误lst2020.subtract is not a function
100 0

热门文章

最新文章

  • 1
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    微信小程序 app.json 配置文件解析与应用
  • 4
    【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
  • 5
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
  • 6
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 7
    【Azure Function】Function App出现System.IO.FileNotFoundException异常
  • 8
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 9
    【Azure Logic App】使用MySQL 新增行触发器遇见错误 :“Unknown column 'created_at' in 'order clause'”
  • 10
    阿里云APP备案流程图以及备案所需材料整理,跟着教程一步步操作