【问题标题】:Bigtable Performance BenchmarkingBigtable 性能基准测试
【发布时间】:2020-09-27 00:32:24
【问题描述】:

我发现这个 GitHub 参考来衡量 Bigtable 的写入性能-https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/tree/master/java/simple-performance-test

根据官方文档,对于具有单节点和 SSD 存储的 Bigtable 实例,我们预计写入性能最高可达 10K/秒。但是,对于相同的配置,我平均可以获得 35 QPS 的写入性能。这不寻常吗?

我正在对 100 万行(每行 1 KB)运行我的基准测试。修改了源代码以生成 100 万个不同的值,因为最初此代码生成单个值并将每行的相同值提供给 Bigtable。请注意,监控控制台永远不会显示 > 15 QPS 的任何内容。我在控制台上看到的内容与执行性能测试实用程序时看到的内容之间存在差异的任何具体原因?

此 Stack Overview 参考表明我看到的性能可能并不异常-Google Bigtable performance: QPS vs CPU utilization

是否有任何其他方法或实用程序可以帮助我对 Bigtable 的写入、读取和扫描性能进行基准测试?

【问题讨论】:

    标签: google-cloud-platform google-cloud-bigtable bigtable


    【解决方案1】:

    Cloud Bigtable 的性能高度依赖于工作负载、架构设计和数据集特征。此documentation page 中显示的性能数据仅为估计值。

    我建议您阅读涵盖causes of slower performancetesting recommendationstroubleshooting section for performance issues 的完整文档。

    此外,您可以使用用 Go 编写的 Cloud Bigtable loadtest tool 作为开发自己的性能测试的起点。

    【讨论】:

    • 这个负载测试工具还兼容 Go 吗?我很难修复“不允许使用内部包”错误。这段代码有 'cbtconfig' 和 'stat' 包,它们被认为是 Bigtable 的内部包。知道如何构建和运行代码吗?我没有 Go 的经验。因此,我需要一些帮助才能使该工具正常工作。之后我可以处理所需的修改。感谢您的支持。
    • 您需要克隆整个存储库https://github.com/googleapis/google-cloud-go,然后克隆cd google-cloud-go/bigtable/cmd/loadtest/,在那里您将能够使用go build loadtest.go 运行编译。 this answer 中解释了您遇到错误的原因
    • name,count,errors,min,median,max,p75,p90,p95,p99 reads,19603,0,2.737824ms,10.704144ms,71.403716ms,14.300209ms,19.709184ms,24.419084ms ,35.385176ms 写入,19399,0,3.042753ms,11.666074ms,71.697233ms,15.254157ms,20.895185ms,25.49103ms,36.285148ms
    • 此测试运行 5 秒。因此,如果我理解正确,它代表每秒 4K 行的读/写吞吐量,平均延迟约为。 10 毫秒。这种理解正确吗?
    • 看起来是这样的
    猜你喜欢
    • 2017-05-29
    • 2014-07-30
    • 2014-12-19
    • 1970-01-01
    • 2017-05-25
    • 2010-10-03
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    相关资源
    最近更新 更多