首页 > 解决方案 > 关于 Bigtable 性能的一般指导

问题描述

我正在为在 GKE 上运行的示例应用程序使用单节点 Bigtable 集群。自动缩放功能已包含在客户端代码中。有时我会遇到 GET 调用缓慢(> 80 毫秒)。为了进一步调查,我需要对以下 Bigtable 行为进行一些澄清。

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

标签: google-cloud-platformhbasegrpcgoogle-cloud-bigtablebigtable

解决方案


根据GCP 官方文档,您可以在这里找到导致 Bigtable 性能下降的原因。我想建议您阅读可能有帮助的文档。您还可以看到故障排除性能问题


推荐阅读