3

我正在使用 Go 客户端在 3 节点集群上测试一些 BigTable 查询,例如:

r, err = tbl.ReadRow(ctx, "key1")

我在几毫秒内得到结果:

query 1: 129.748451ms
query 2: 3.256158ms
query 3: 2.474257ms
query 4: 2.814601ms
query 5: 2.850737ms

如您所见,第一个查询存在明显的设置连接延迟。任何人都可以提供反馈,这是否是一个可接受的值?查询源自与 BigTable 集群位于同一区域 (europe-west1-c) 中的 GCE VM。

此外,在 App Engine 上运行时,是否计划支持将 BigTable 连接池化?

4

1 回答 1

3

Go 中的 Bigtable 连接从调用 bigtable.NewClient() 时异步初始化。

连接是具有大量初始化时间的昂贵对象。

第一个 ReadRow() 调用将在等待该连接完成设置时阻塞。如果您在进行 NewClient() 调用和第一次 ReadRow() 之间等待一段时间,您应该不会在第一次读取时看到更高的延迟。

于 2015-06-12T17:00:53.157 回答