如何解决有关 Bigtable 性能的一般指南
我正在为在 GKE 上运行的示例应用程序使用单节点 Bigtable 集群。自动缩放功能已合并到客户端代码中。 有时我会遇到 GET 调用的缓慢(> 80 毫秒)。为了进一步调查,我需要对以下 Bigtable 行为进行一些澄清。
- 我缓存了 Bigtable
table
对象以确保更快的 GET 调用。表对象是否持久存在于 GKE 上?我了解到对象在 Cloud Function 上不是持久的。我们希望 GKE 上有类似的行为吗? - 我正在使用服务帐户身份验证,但身份验证令牌多久刷新一次?我见过 gRPC Java 客户端的频繁刷新日志。我认为 Bigtable 将无法在此令牌刷新期间(4-5 秒)内处理请求。
- 如果客户端机器/实例规模不够大怎么办?它会导致 GET 调用变慢吗?
- Bigtable 客户端库使用连接池。连接/通道多久关闭一次?我了解到连接会在几分钟不活动(> 15 分钟左右)后关闭。
- 我打算只读取需要的列而不是整行。这可以通过指定
rowkey
和column qualifier filter
来实现。如果不读取整行,我可以期待一些性能改进吗?
解决方法
根据GCP official docs,您可以在这里找到导致 Bigtable 性能下降的原因。我建议您阅读可能有帮助的文档。您还可以看到 Troubleshooting performance issues。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。