我正在试验最近2个月的GAE。Google App Engine的速度有多快?
我正在通过上传CSV文件将记录保存到bigtable。
我的测试文件的大小是300 KB。
这里我发现了什么
本地系统
- 上传需要不到1秒
- 处理2500条记录在3秒内
在谷歌沙盒
上传需要5-7秒。
处理文件给出超时。
它只保存60-180条记录。
我的问题是
- 为什么它需要太多的时间?
- 有没有办法缩短这个时间?
- 谷歌计算这个处理CPU使用。他们不公开h/w,因此他们在内部使用什么样的CPU?我的意思是我得到一个CPU是否等于或大于PIII?
编辑的@Drew西尔斯的答案。
我现
- 做什么文件上传到GAE
- 获取上传的数据字节。通过流,计数行,将其保存到bigtable。
- 有一个独特的字段,id,我的记录。
- 现在,我创建队列
INT X = linesCount/50;
for(int i<0;i=x;i++)
{
x = i * 50;
Queue queue = QueueFactory.getQueue("test-queue");
queue.add(TaskOptions.Builder.url("/TestQueue")
.param("id", id.toString())
.param("startIdx",String.valueOf(x))
.param("totRec",String.valueOf(50))
);
}
int y = linesCount % 50;
if(y > 0)
{
x = (linesCount/50) * 50;
Queue queue = QueueFactory.getQueue("test-queue");
queue.add(TaskOptions.Builder.url("/TestQueue")
.param("id", id.toString())
.param("startIdx",String.valueOf(x))
.param("totRec",String.valueOf(y))
);
}
任务处理的servlet读取的存储和使用totRec和startIdx过程中的文件并关闭文件..
是你的第一个请求对谷歌沙盒体验的时间?随之而来的要求是什么? – naikus 2010-07-09 11:08:20
您遇到的延迟不是由CPU功率不足引起的,而是由GAE数据存储区(和您的网络连接)的实现引起的。 GAE与同一台服务器上的其他应用程序共享资源,但它们有足够的CPU周期来处理......这是数据存储滞后。 – 2010-07-09 11:15:20
在第一次请求它只保存60次。下一个请求提高速度,它可以节省120-150条记录。现在最多可以达到184条记录 – Manjoor 2010-07-09 11:19:17