我正在使用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连接?
答案 0 :(得分:3)
Go中的Bigtable连接是在调用bigtable.NewClient()时异步初始化的。
连接是昂贵的对象,具有大量的初始化时间。
第一个ReadRow()调用将阻止等待该连接完成设置。如果您在进行NewClient()调用和第一个ReadRow()之间等待一段时间,则在第一次读取时不应该看到更高的延迟。