关于Bigtable性能的一般指导



对于在GKE上运行的示例应用程序,我使用的是单节点Bigtable集群。自动缩放功能已被纳入到客户端代码中。有时我遇到GET调用缓慢(80ms)的情况。为了进一步研究它,我需要对以下Bigtable行为进行一些澄清。

  1. 我缓存了Bigtable table对象,以确保更快的GET调用。表对象在GKE上持久化吗?我了解到对象在Cloud Function上是不持久的。我们是否期望GKE有类似的行为?
  2. 我正在使用服务帐户身份验证,但验证令牌刷新的频率如何?我经常看到gRPC Java客户端的刷新日志。我认为在这个令牌刷新期间(4-5秒),Bigtable将无法处理请求。
  3. 如果客户端机器/实例没有足够的可伸缩性怎么办?它会导致GET调用变慢吗?
  4. Bigtable客户端库使用连接池。连接/通道关闭的频率是多少?我已经了解到,连接在不活动几分钟后(>15分钟左右)关闭。
  5. 我计划只读取需要的列,而不是整个行。这可以通过指定rowkeycolumn qualifier filter来实现。如果不读取整行,我能期望性能有所提高吗?

根据GCP官方文档,您可以在这里获得Bigtable性能较慢的原因。我建议你去看一下那些可能有用的文件。您还可以查看故障诊断性能问题。

最新更新