CPU使用率以及CPU计算速度有关系吗?

曹宇 2016-11-02 01:58:39
如题,我使用HBase进行压力测试,HBase明显已经处理不过来了,队列有堆压了,可是 LOAD 磁盘 网络压力并不是很大。

我推测 大量的延迟在于合并以及刷新操作,特别是合并应该是高密集CPU的操作,但是CPU使用率并不是非常高。

所以我现在有两个问题:


1.是否CPU的计算速度就是这么快,无论你压力再大 也就是这么快,并不体现在负载上,也就是大量的计算任务在排队,而不是吧负载堆到100%.

2.是否jvm虚拟机对hbase的资源使用有限制?
...全文
854 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
曹宇 2016-12-27
  • 打赏
  • 举报
回复
引用 4 楼 link0007 的回复:
[quote=引用 3 楼 ProgrammingPower 的回复:] [quote=引用 2 楼 link0007 的回复:] 我的理解是Region内锁的问题。而且RegionServer并发处理请求的数量是固定的。
求详解一下,多谢了。。。 [/quote] 首先一个Region维护着一个范围内的行键的行。你可以到HBaseWebUI查看每个Region的StartRow EndRow和被管辖的RegionServer。另外HBase声称一次Put Delete是原子性的,即完全成功或完全失败。所以为了满足原子性,Region内部会维护行键的锁。当频繁对同一个行键的列进行操作,势必会造成锁的竞争,避免多个请求竞争锁造成性能损失,所以请求会先经过队列再进行处理。[/quote] 嗯嗯,明白了。 我这个需求 是大量的put操作且rowkey不重复,每行数据只有一个 列族 一个列 应该不会触发行锁 , 我现在猜测会不会是一个region只能接受一定量的并发请求,比如只能处理100个同时, 这样很多都在后面排队。 也就是说 如果我将region分配的更多些,分割出来更多region以减少单个region的压力,不知道这个思路对不对。
曹宇 2016-12-27
  • 打赏
  • 举报
回复
引用 6 楼 link0007 的回复:
[quote=引用 5 楼 ProgrammingPower 的回复:] [quote=引用 4 楼 link0007 的回复:] [quote=引用 3 楼 ProgrammingPower 的回复:] [quote=引用 2 楼 link0007 的回复:] 我的理解是Region内锁的问题。而且RegionServer并发处理请求的数量是固定的。
求详解一下,多谢了。。。 [/quote] 首先一个Region维护着一个范围内的行键的行。你可以到HBaseWebUI查看每个Region的StartRow EndRow和被管辖的RegionServer。另外HBase声称一次Put Delete是原子性的,即完全成功或完全失败。所以为了满足原子性,Region内部会维护行键的锁。当频繁对同一个行键的列进行操作,势必会造成锁的竞争,避免多个请求竞争锁造成性能损失,所以请求会先经过队列再进行处理。[/quote] 嗯嗯,明白了。 我这个需求 是大量的put操作且rowkey不重复,每行数据只有一个 列族 一个列 应该不会触发行锁 , 我现在猜测会不会是一个region只能接受一定量的并发请求,比如只能处理100个同时, 这样很多都在后面排队。 也就是说 如果我将region分配的更多些,分割出来更多region以减少单个region的压力,不知道这个思路对不对。[/quote] 思路是绝对正确的。可以去看看hbase运维相关的博客[/quote] 嗯嗯,多谢啦。
LinkSe7en 2016-12-27
  • 打赏
  • 举报
回复
引用 5 楼 ProgrammingPower 的回复:
[quote=引用 4 楼 link0007 的回复:] [quote=引用 3 楼 ProgrammingPower 的回复:] [quote=引用 2 楼 link0007 的回复:] 我的理解是Region内锁的问题。而且RegionServer并发处理请求的数量是固定的。
求详解一下,多谢了。。。 [/quote] 首先一个Region维护着一个范围内的行键的行。你可以到HBaseWebUI查看每个Region的StartRow EndRow和被管辖的RegionServer。另外HBase声称一次Put Delete是原子性的,即完全成功或完全失败。所以为了满足原子性,Region内部会维护行键的锁。当频繁对同一个行键的列进行操作,势必会造成锁的竞争,避免多个请求竞争锁造成性能损失,所以请求会先经过队列再进行处理。[/quote] 嗯嗯,明白了。 我这个需求 是大量的put操作且rowkey不重复,每行数据只有一个 列族 一个列 应该不会触发行锁 , 我现在猜测会不会是一个region只能接受一定量的并发请求,比如只能处理100个同时, 这样很多都在后面排队。 也就是说 如果我将region分配的更多些,分割出来更多region以减少单个region的压力,不知道这个思路对不对。[/quote] 思路是绝对正确的。可以去看看hbase运维相关的博客
LinkSe7en 2016-11-03
  • 打赏
  • 举报
回复
引用 3 楼 ProgrammingPower 的回复:
[quote=引用 2 楼 link0007 的回复:] 我的理解是Region内锁的问题。而且RegionServer并发处理请求的数量是固定的。
求详解一下,多谢了。。。 [/quote] 首先一个Region维护着一个范围内的行键的行。你可以到HBaseWebUI查看每个Region的StartRow EndRow和被管辖的RegionServer。另外HBase声称一次Put Delete是原子性的,即完全成功或完全失败。所以为了满足原子性,Region内部会维护行键的锁。当频繁对同一个行键的列进行操作,势必会造成锁的竞争,避免多个请求竞争锁造成性能损失,所以请求会先经过队列再进行处理。
曹宇 2016-11-02
  • 打赏
  • 举报
回复
引用 2 楼 link0007 的回复:
我的理解是Region内锁的问题。而且RegionServer并发处理请求的数量是固定的。
求详解一下,多谢了。。。
LinkSe7en 2016-11-02
  • 打赏
  • 举报
回复
我的理解是Region内锁的问题。而且RegionServer并发处理请求的数量是固定的。
曹宇 2016-11-02
  • 打赏
  • 举报
回复
呼叫大神。。。。。。

20,848

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧