GCS uploadHanders极端延迟

时间:2014-10-06 21:02:42

标签: google-app-engine google-cloud-storage google-compute-engine

有没有办法减少GCS上传的延迟?我可以以某种方式强制更快的云存储以获得更高的速率吗?

如果我通过GAE创建uploadHandler

blobstore.create_upload_url('/upload', gs_bucket_name='bucket_name')

它会创建一个这样的网址:/ _ah / upload / AMmfu6ay12yQDxuTOEjUh5 ... c-J09am7J4r

此网址的一个小帖子(120kb)会生成此时间轴:( 8秒延迟!

Blocking  :  2.000 ms
Sending   :  241.000 ms
Waiting   :  8.22 S
Receiving :  1.000 ms

但是将相同的文件发布到GAE本身并使用cloudstorage SDK将blob写入GCS我得到了这个时间表:

Blocking  :  2.000 ms
Sending   :  221.000 ms
Waiting   :  2.62 S
Receiving :  1.000 ms

为什么会出现这种剧烈的差异?我可以调整哪些参数来减少延迟?能够跳过我的前端GAE实例上的额外负载会很高兴,当速度很重要时,任何人都有GCS经验吗?

1 个答案:

答案 0 :(得分:0)

这可以通过考虑基础设施来解释:

  1. 将数据发布到blobstore上传网址时,会通过blobstore处理程序发送,然后发送到GCS存储。
  2. 当您将数据发布到没有GCS参数的blobstore 时,它会更快,因为blob存储(从速度,似乎与GCS不同)是"更近& #34;到处理程序而不是去GCS(基于这些时差和所有关于GCS / blobstore的已知信息做出关于基础设施的任何推断)
  3. 当您将数据从GAE 投放到GCS时,它更接近它需要的位置 - 它位于数据中心内部,谷歌内部网络。当然你还在等待上传到GAE。
  4. 您可以查看Regional Buckets,但要注意这是alpha并且可能随时更改,因此可能不适合以此为基础生产。如果您遇到奇怪的问题,可以随时look into support