HBase Practice At XiaomiAsync HBase Client ○ Implementation ○ Performance ● How do we tuning G1GC for HBase ○ CMS vs G1 ○ Tuning G1GC ○ G1GC in XiaoMi HBase Cluster Part-1 Async HBase Client Why Async HBase Client Proof that latency of async client is at least the same as blocking hbase client. Part-2 HBase + G1GC Tuning CMS VS G1 OldGen GC (Before) OldGen GC (After) CMS Old Gen GC CMS VS G1 Mixed GC (Before) A new table with 400 regions ○ 100 millions rows whose value is 1000 bytes ● Pressure test for G1GC tuning ○ 40 write clients + 20 read clients ○ 1 hour for each JVM option changed ● HBase configuration0 码力 | 45 页 | 1.32 MB | 1 年前3
openEuler 21.03 技术白皮书工具可以获得更好的性能分析可视化效果。 • 支持 AppCDS 技术(毕昇 JDK 8):该技术是 CDS 的扩展版本,可以将应用类转储为 jsa 文件,增加类使用范围, 提升应用启动加载速度。 • 支持 G1GC 内存伸缩特性(毕昇 JDK 8):JVM 能够检测应用负载下降和 Java 堆有空闲内存的情况,并自动减少 Java 堆占用情况,将空闲内存资源归还给操作系统,在按资源使用量付费的容器场景中可以节省开销。 可以节省开销。 • 支持 ZGC 垃圾回收算法(毕昇 JDK 11):在 ARM64 上补齐该功能。支持 TB 级大小,最大 10ms 时延,停顿时 间不会随着堆增大而增大。 • G1GC 支持 NUMA-Aware 特性(毕昇 JDK11): JVM 能充分发挥硬件特性,在应用运行进行对象分配会优先选 择使用本地节点的内存,在垃圾回收进行内存复制时优先在同一节点进行,保证垃圾回收后应用的数据亲和性。 ZGC 还能获得更高的性能收益。 应用场景 2:云计算 G1GC 内存伸缩可以有效节约资源,测试发现在低流量场景中内存可以节约 60% 以上。同时毕昇 JDK 通过动态的释放 策略保证内存使用平滑变化。 应用场景 3:鲲鹏服务器的 Java 应用 毕昇 JDK 针对鲲鹏服务器的弱内存模型进行优化,无效内存屏障。充分利用硬件性能,在 G1GC 引入 NUMA-Aware 特 性,提高应用访问内存的效率。提供和增强0 码力 | 18 页 | 1.30 MB | 1 年前3
openEuler 21.09 技术白皮书工具可视化。 2. 支持 AppCDS 技术(毕昇 JDK 8):该技术是 CDS 的扩展版本,可以将应用类转储为 jsa 文件,增加类使用范围, 提升应用启动加载速度。 3. 支持 G1GC 内存伸缩特性(毕昇 JDK 8):JVM 能够检测应用负载下降和 Java 堆有空闲内存的情况,并自动减少 Java 堆占用情况,将空闲内存资源归还给操作系统,在按资源使用量付费的容器场景中可以节省开销。 可以节省开销。 4. 支持 ZGC 垃圾回收算法(毕昇 JDK 11):在 ARM64 上补齐该功能。支持 TB 级大小,最大 10ms 时延,停顿时间 不会随着堆增大而增大。 5. G1GC 支持 NUMA-Aware 特性(毕昇 JDK8 和 毕昇 JDK11): JVM 能充分发挥硬件特性,在应用运行进行对象 分配会优先选择使用本地节点的内存,在垃圾回收进行内存复制时优先在同一节点进行,保证垃圾回收后应用的 ):OpenJDK JMap 工具默认是单线程执行 java 程序的 dump 操作,毕昇 JDK8 & JDK11 实现其并行化、增量式扫描,有效提升 JMap 在大堆场景的扫描速度,已支持 G1GC & ParallelGC & CMS。 应用场景 应用场景 1:大数据应用 针对大数据优化 GC 内存的分配和回收,消除 JIT 代码中冗余内存屏障等。在大数据应用的基准测试性能较 OpenJDK0 码力 | 35 页 | 3.72 MB | 1 年前3
openEuler 22.03-LTS 技术白皮书JMC 工具可视化。 • 支持 AppCDS 技术(毕昇 JDK8):该技术是 CDS 的扩展版本,可以将应用类转储为 jsa 文件,增加类使用范围, 提升应用启动加载速度。 • 支持 G1GC 内存伸缩特性(毕昇 JDK8):JVM 能够检测应用负载下降和 Java 堆有空闲内存的情况,并自动减少 Java 堆占用情况,将空闲内存资源归还给操作系统,在按资源使用量付费的容器场景中可以节省开销。 以节省开销。 • 支持 ZGC 垃圾回收算法(毕昇 JDK11):在 ARM64 上补齐该功能。支持 TB 级大小,最大 10ms 时延,停顿时间 不会随着堆增大而增大。 • G1GC 支持 NUMA-Aware 特性(毕昇 JDK8 和 毕昇 JDK11):JVM 能充分发挥硬件特性,在应用运行进行对象分 配会优先选择使用本地节点的内存,在垃圾回收进行内存复制时优先在同一节点进行,保证垃圾回收后应用的数据 ):OpenJDK JMap 工具默认是单线程执行 Java 程序的 dump 操作,毕昇 JDK8 & JDK11 实现其并行化、增量式扫描,有效提升 JMap 在大堆场景的扫描速度,已支持 G1GC & ParallelGC & CMS。 应用场景 应用场景 1:大数据应用 针对大数据优化 GC 内存的分配和回收,消除 JIT 代码中冗余内存屏障等。在大数据应用的基准测试性能较0 码力 | 17 页 | 6.52 MB | 1 年前3
HBASE-21879 Read HFile ’s Block into ByteBuffer directly.latencies in 100% Get Case (5 Nodes) Picture.2 G1GC related metrics in 100% Get Case In above pictures, the p999 latency is almost the same as G1GC STW cost (~100ms). After HBASE-11425 , almost0 码力 | 18 页 | 1.14 MB | 1 年前3
HBase最佳实践及优化com/blog/2014/12/tuning-java-garbage-collection-for-hbase/ Postgres Conference China 2016 中国用户大会 G1GC -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -Xmx32g -Xms32g 32 GB heap, initial and max should0 码力 | 45 页 | 4.33 MB | 1 年前3
共 6 条
- 1













