首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

实战大数据,HBase 性能指南

1 HBase 表结构设计 1.1 Row Key 设计 HBase 中 row key 用来检索表中的记录,支持以下三种方式: 通过单个 row key 访问:即按照某个 row key 键值进行...1.3 表参数 Pre-Creating Regions(预分区) 默认情况下,在创建 HBase 表的时候会自动创建一个 region 分区,当导入数据的时候,所有的 HBase 客户端都向这一个...2 HBase 2.1 多 HTable 并发写 创建多个 HTable 客户端用于写操作,提高写数据的吞吐量。...下面给个具体的例子: 3 HBase 3.1 多 HTable 并发写 创建多个 HTable 客户端用于读操作,提高读数据的吞吐量,举一个例子: 3.2 HTable 读参数设置 3.2.1...的设计是只有 rowkey 是索引,rowkey 都变成随机的了,读数据只能做性能极低的全表扫描了。

67840

Hbase 之 RPC

HBase 采用了和 Hadoop 相同的 RPC 机制,作为它的主要通信手段.这是一个轻量的,不同于 Java 标准的 RMI 的一种方式,HBase RPC 有明显的客户端和服务端之分。...,单个产品队列的容量并不是按需使用无限增长的,HBase 对其长度及空间大小都做了相应的阀值控制,其中:hbase.ipc.server.max.callqueue.length 用于限制产品队列的长度...和参数 hbase.ipc.server.callqueue.scan.ratio 进行控制,其中 hbase.ipc.server.callqueue.handler.factor 用来控制队列个数...里读取数据的速度也就是网络吞吐量 hbase.ipc.server.tcpnodelay 默认值值 true hbase.ipc.server.tcpkeepalive 默认值 true hbase.regionserver.handler.count...联合使用(其中还需要设置参数 hbase.ipc.server.callqueue.scan.ratio),含义是 hbase 支持 put、get、scan 分开调度,可以结合自己的业务场景来控制读写

5.8K21

HBase 性能第一弹:内存篇

这是使用 HBase 最不可避免的一个话题,就是 HBase性能,而且通常建立在我们对 HBase 内部运行机制比较了解的基础上进行的,因此无论怎么说,这块都是一个相对复杂的事情。...这一篇我们先来介绍与 HBase 内存最相关的内容。 1. 合理配置 JVM 内存 这里首先涉及 HBase 服务的堆内存设置。...剩下来的就是 GC 参数了,这一块也要合理配置加上实际测试,后面再单独聊这块。 3....总结 本文总结了与 HBase 内存最相关的内容,主要包括 JVM 内存大小设置,选择合适的 GC 策略,建议开启 MSLAB 与 BucketCache,以及合理配置读写缓存比例等内容,希望通过本文我们对于...HBase 性能有了一定的认识。

2.2K41

SQL性能

WHERE column1 = -column2 3 还是可以带来查询性能的优化的。...针对专门操作符的 前面,讲的是关于查询条件的一般规则,在这一节中,将讨论如何使用专门的操作符来改进 SQL 代码的性能。...当一些优化器发现查询中存在 OR 操作符时,就不使用索引查询,所以在这种情况下,并且只有在这种情况下,UNION 才比 OR 性能更高。...以上是作者对如何提高 SQL 性能的一些总结,这些规则并一定在所有的数据库系统上都能带来性能的提高,但是它们一定不会对数据库的性能带来下降,所以掌握并使用这些规则可以对数据库 应用程序的开发有所帮助。...本文总结的是一些 SQL 性能的比较初级的方面,SQL 还包括 Order by,Group by 以及 Index 等等。

1.7K30

Spark 性能之Shuffle

概述 大多数 Spark 作业的性能主要就是消耗在了 shuffle 环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。...因此,如果要让作业的性能更上一层楼,就有必要对 shuffle 过程进行。...但是也必须提醒大家的是,影响一个 Spark 作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle 只能在整个 Spark 的性能中占到一小部分而已。...建议:如果作业可用的内存资源较为充足的话,可以适当增加这个参数的大小(比如96m),从而减少拉取数据的次数,也就可以减少网络传输的次数,进而提升性能。...,建议参考后面的几个参数,通过 bypass 机制或优化的 HashShuffleManager 来避免排序操作,同时提供较好的磁盘读写性能

1.1K30

Spark 性能之资源

Spark的性能实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。...笔者根据之前的Spark作业开发经验以及实践积累,总结出了一套Spark作业的性能优化方案。整套方案主要分为开发、资源、数据倾斜、shuffle几个部分。...开发和资源是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle,面向的是对...本文作为Spark性能优化指南的基础篇,主要讲解资源。 2. 资源 2.1 概述 在开发完Spark作业之后,就该为作业配置合适的资源了。...这个参数极为重要,如果不设置可能会直接影响你的Spark作业性能。 参数建议:Spark作业的默认task数量为500-1000个较为合适。

1.6K30

Spark 性能之开发

如果没有对Spark作业进行合理的,Spark作业的执行速度可能会很慢,这样就完全体现不出Spark作为一种快速大数据计算引擎的优势来。因此,想要用好Spark,就必须对其进行合理的性能优化。...Spark的性能实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。...笔者根据之前的Spark作业开发经验以及实践积累,总结出了一套Spark作业的性能优化方案。整套方案主要分为开发、资源、数据倾斜、shuffle几个部分。...开发和资源是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle,面向的是对...本文作为Spark性能优化指南的基础篇,主要讲解开发。 2. 开发 2.1 概述 Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。

94331

Glusterfs性能

指定了接收和发送套接字缓冲区大小的最大值,对于小文件小文件请求处理时候效率比较高 net.core.rmem_max=67108864 net.core.wmem_max=67108864 //为自动定义每个...net.ipv4.tcp_rmem=33554432 net.ipv4.tcp_wmem=33554432 Gluster参数 读写性能参数优化 // 打开metadata-cache,打开这个选项可以提高在...这尤其会影响小文件的性能,其中大量文件被快速连续地添加/创建。...gluster volume get dht-vol performance.readdir-ahead on // 设置performance.readdir-ahead的内存,默认是10mb,可以适当大...rep-vol cluster.shd-max-threads 64 //修复的数据快大小,默认是1(1*128k),默认是按照128K数据快修复,如果需要修复的数据很大,这个默认1太小,可以适当的

2.4K41

HBase原理 | HBase Compaction介绍与参数

我们知道,数据达到HBase服务端会写WAL-写Memstore,然后定期或满足一定条件时刷写磁盘生成一个HFile文件,随着时间推移生成的HFile会越来越多,将会影响HBase查询性能,同时会对HDFS...因此HBase会定期执行Compaction操作以合并减少HFile数量。 1.两种合并 HBase中Compaction分为两种。...参数 1).hbase.hstore.compaction.min 默认值 3,一个列族下的HFile数量超过该值就会触发Minor Compaction,这个参数默认值小了,一般情况下建议大到5...(旧版本中该参数是hbase.hstore.compactionthreshold) 2).hbase.hstore.compaction.max 默认值 10,一次Minor Compaction最多合并的...一般建议调整到2~5,不建议太大,否则可能会消费过多的服务端资源得不偿失。

2.8K20

Spark性能06-JVM

Spark 和 JVM 的关系 再JVM虚拟机中,当创建的对象的数量很多时,Eden 和 Survior1 区域会很快的满溢,就需要进行频繁地 Minor GC,这样会导致有一些生命周期较短的对象迅速长到...Spark的JVM spark.storage.memoryFraction 参数说明: 该参数用于设置RDD持久化数据在Executor内存中能占的比例,默认是0.6。...根据你选择的不同的持久化策略,如果内存不够时,可能数据就不会持久化,或者数据会写入磁盘 参数建议: 如果Spark作业中,有较多的RDD持久化操作,该参数的值可以适当提高一些,保证持久化的数据能够容纳在内存中...shuffle操作在进行聚合时,如果发现使用的内存超出了这个20%的限制,那么多余的数据就会溢写到磁盘文件中去,此时就会极大地降低性能 参数建议: 如果Spark作业中的RDD持久化操作较少,shuffle...操作数量、RDD持久化操作数量以及spark web ui中显示的作业gc情况)来灵活的 4.

1.3K10

GC 性能

什么是?...根据需求进行JVM规划和预 优化运行JVM运行环境(慢,卡顿) 解决JVM运行过程中出现的各种问题(OOM) ,从规划开始 ,从业务场景开始,没有业务场景的都是耍流氓 无监控(压力测试...,能看到结果),不调 步骤: 熟悉业务场景(没有最好的垃圾回收器,只有最合适的垃圾回收器) 响应时间、停顿时间 [CMS G1 ZGC] (需要给用户作响应) 吞吐量 = 用户时间 /(...扩容或,让它达到 用压测来确定 优化环境 有一个50万PV的资料类网站(从磁盘提取文档到内存)原服务器32位,1.5G 的堆,用户反馈网站比较缓慢,因此公司决定升级,新的服务器为64位,16G 的堆内存...PS -> PN + CMS 或者 G1 系统CPU经常100%,如何

1.3K10

Tomcat性能

提高Tomcat性能一般从三方面入手,JVM内存调整、禁用DNS查询、调整线程数。 一、JVM内存调整   -Xms 表示JVM初始化堆的大小,-Xmx表示JVM堆的最大值。...为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值 enableLookups="false" 三、调整线程数   另外一个可通过应用程序的连接器...(Connector)进行性能控制的的参数是创建的处理请求的线程数。...注意事项: 设置NewSize、MaxNewSize相等,"new"的大小最好不要大于"old" 的一半,原因是old区如果不够大会频繁的触发主GC,大大降低了性能。...因为对于操作系统,请求内存的系统调用会占用大量的cpu时间,所以频繁的请求、释放内存将会导致性能的严重下降。

2.8K21

SQL 性能

我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!...(译者按: TRUNCATE只在删除全表适用,TRUNCATE是DDL不是DML) (10)尽量多使用COMMIT 只要有可能,在程序中尽量多使用COMMIT, 这样程序的性能得到提高,需求也会因为...性能上的差异,关键看你的from和where子句。比如说如果你的where条件中可以通过索引,那显然 select 1 from ... 的性能比 select * from ... 好。...也就是说如果某列存在空值,即使对该列建索引也不会提高性能。 任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。...仔细检查order by语句以找出非索引项或者表达式,它们会降低性能

2.7K60
领券