首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现声明云Bigtable写入QPS

实现声明云Bigtable写入QPS
EN

Stack Overflow用户
提问于 2016-01-21 15:09:33
回答 2查看 569关注 0票数 5

我们已经设置了5个节点的Bigtable集群,GCP控制台声明它应该支持50K QPS @ 6ms的读写功能。

我们正在尝试加载一个大的数据集(~800 m记录),其中包含50个字段,其中大部分是数字数据,还有几个短字符串。这些键是11位数字字符串.

当从GCE中的单个客户端VM通过HBase API加载此数据集时,当将每个字段放入单独的列中时,我们会观察到多达4KQPS。我们使用单个HBase连接,多个线程(5-30)进行10K记录的批处理。

当将所有字段组合成一个列(Avro编码,每个记录约250个字节)时,批处理提交的写入性能将提高到10KQPS。并发线程的数量似乎不会影响QPS。当每个线程使用单独的HBase连接时,5个线程的写入性能将提高到20K QPS。

客户端VM与Bigtable集群处于相同的可用性区域,并且在加载过程中几乎处于空闲状态,因此它看起来不像是客户端的瓶颈。

问题:

  1. 从我们的测试来看,写QPS似乎随着插入的列数的增加而减少。这是意料之中的,如何量化这种关系呢?(顺便说一句,如果在Bigtable性能文档中提到这一点,那就太好了)。
  2. 为了实现声明的写QPS,我们可能遗漏了什么?我的理解是,每个集群节点都应该支持10K的写QPS,然而,我们似乎是针对一个具有单个HBase连接的节点,而只针对2个具有多个HBase连接的节点。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-22 01:04:10

BufferedMutator在0.2.3-快照与OpenSSL和Java8提供22-23KQPS的小(1KB)突变在4 CPU机器和高达90K在32 CPU机器。0.2.2给出10K-12KQPS。打开单个HBase连接以获得最佳性能。

注释-删除了关于OpenSSL的注释,因为它现在是默认的

有关其他信息,请参见https://github.com/GoogleCloudPlatform/cloud-bigtable-client

票数 1
EN

Stack Overflow用户

发布于 2016-01-21 20:23:34

回答第二个问题:我们从批处理HBase Puts切换到突变体,获得了超过50K的QPS。我们仍然使用多个HBase连接,单个连接似乎仅限于单节点吞吐量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34927309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档