我正在使用 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 连接?
最佳答案
Go 中的 Bigtable Connections 从 bigtable.NewClient() 被调用时开始异步初始化。
连接是具有大量初始化时间的昂贵对象。
第一个 ReadRow() 调用将阻塞等待该连接完成设置。如果您在进行 NewClient() 调用和第一次 ReadRow() 之间等待一段时间,您应该不会在第一次读取时看到更高的延迟。
关于google-cloud-platform - Google Cloud BigTable 连接设置时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30803224/