Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 77616184A5 for ; Wed, 27 Jan 2016 06:09:40 +0000 (UTC) Received: (qmail 68535 invoked by uid 500); 27 Jan 2016 06:09:40 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 68394 invoked by uid 500); 27 Jan 2016 06:09:40 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 68316 invoked by uid 99); 27 Jan 2016 06:09:40 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 27 Jan 2016 06:09:40 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id E727C2C1F60 for ; Wed, 27 Jan 2016 06:09:39 +0000 (UTC) Date: Wed, 27 Jan 2016 06:09:39 +0000 (UTC) From: "Enis Soztutar (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-15177) Reduce garbage created under high load MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-15177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15118713#comment-15118713 ] Enis Soztutar commented on HBASE-15177: --------------------------------------- These three improvements all together produce something like 7% less garbage (40GB vs 42.3GB in 60 sec), and total GC time in 60-sec window to. reduce from 3 s 28 ms to 2 s 802 ms. Test env: Single node regionserver, handlers = 105, -Xmx16384m -Xmn512m, on-heap block cache, data generated from pe sequential write, 100 byte values, fully compacted, 24 core node, JDK-1.8.0_71, CMS. Using JFR for profiling. Running: {code} hbase pe --latency --nomapred randomRead 100 {code} > Reduce garbage created under high load > -------------------------------------- > > Key: HBASE-15177 > URL: https://issues.apache.org/jira/browse/HBASE-15177 > Project: HBase > Issue Type: Improvement > Reporter: Enis Soztutar > Assignee: Enis Soztutar > Fix For: 2.0.0, 1.3.0 > > > I have been doing some profiling of the garbage being created. The idea was to follow up on HBASE-14490 and experiment with offheap IPC byte buffers and byte buffer re-use. However, without changing the IPC byte buffers for now, there are a couple of (easy) improvements that I've identified from profiling: > 1. RPCServer.Connection.processRequest() should work with ByteBuffer instead of byte[] and not-recreate CodedInputStream a few times. > 2. RSRpcServices.getRegion() allocates two byte arrays for region, while only 1 is needed. > 3. AnnotationReadingPriorityFunction is very expensive in allocations. Mainly it allocates the regionName byte[] to get the table name. We already set the priority for most of the operations (multi, get, increment, etc) but we are only reading the priority in case of multi. We should use the priority from the client side. > Lets do the simple improvements in this patch, we can get to IPC buffer re-use in HBASE-14490. -- This message was sent by Atlassian JIRA (v6.3.4#6332)