Return-Path: X-Original-To: apmail-accumulo-user-archive@www.apache.org Delivered-To: apmail-accumulo-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E44C710681 for ; Wed, 4 Dec 2013 16:06:01 +0000 (UTC) Received: (qmail 94395 invoked by uid 500); 4 Dec 2013 16:06:01 -0000 Delivered-To: apmail-accumulo-user-archive@accumulo.apache.org Received: (qmail 94040 invoked by uid 500); 4 Dec 2013 16:06:00 -0000 Mailing-List: contact user-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@accumulo.apache.org Delivered-To: mailing list user@accumulo.apache.org Received: (qmail 94020 invoked by uid 99); 4 Dec 2013 16:06:00 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Dec 2013 16:06:00 +0000 X-ASF-Spam-Status: No, hits=0.3 required=5.0 tests=FREEMAIL_REPLY,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of josh.elser@gmail.com designates 209.85.213.45 as permitted sender) Received: from [209.85.213.45] (HELO mail-yh0-f45.google.com) (209.85.213.45) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 04 Dec 2013 16:05:52 +0000 Received: by mail-yh0-f45.google.com with SMTP id v1so10583439yhn.32 for ; Wed, 04 Dec 2013 08:05:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=qT2rms+QGQkM3EhMDEkuq5Wje9/F0tCE/eJk4NQ4EVo=; b=M1LPRh9ufS49TYRGjFQ0rjBIxyaYhGVVH7zZzhWZuOiuZFNuOKJ3WEdKpqKmsOFR/d O0ej8q8FWjQZFkBCDW5TSfxvl4rxabnRPNCmvoQEkpc6LLt8YbdzrHvpfkXERO8OZG+n u2WzsJRexLU4qghEwR9TAvPG+3LFGxuUubTQgong+5FzoQ6cDwB3U+AtUMNw5jmtkG4M IQdoRIGEgZNCRmFwqZq3HRh9DXj232aPDSgPnHVaRDbilyuo4bdK+mgJBx1KV8sTNQDN W/6wl3PtjHFz0pTkC+nA3WYf0KhFOd6LA0sZNedSW63p2RcwKsIWBVZoQmkXdciQqNck cPkw== X-Received: by 10.236.16.41 with SMTP id g29mr45264518yhg.17.1386173131215; Wed, 04 Dec 2013 08:05:31 -0800 (PST) Received: from HW10447.local (pool-173-69-177-34.bltmmd.fios.verizon.net. [173.69.177.34]) by mx.google.com with ESMTPSA id r64sm15255898yhc.23.2013.12.04.08.05.30 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Dec 2013 08:05:30 -0800 (PST) Message-ID: <529F52CB.5040103@gmail.com> Date: Wed, 04 Dec 2013 11:05:31 -0500 From: Josh Elser User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: user@accumulo.apache.org Subject: Re: WAL - rate limiting factor x4.67 References: <1386152073.30919.YahooMailNeo@web171701.mail.ir2.yahoo.com> <1386172416.36495.YahooMailNeo@web171703.mail.ir2.yahoo.com> In-Reply-To: <1386172416.36495.YahooMailNeo@web171703.mail.ir2.yahoo.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Peter -- I don't know if this was made entirely clear. The reason that things are much slower when you have the WAL turned on is that you're suddenly writing N extra copies of your data to disk. When you don't have the WAL turned on, you're simply writing to Accumulo's in-memory data structures which are fast. Keith's suggestion would ammortize the number of times you write to disk. Adam's suggestion will, like he said, reduce the number of copies you write to disk. There is no configuration that you can make that will make writing data with WALs as fast as writing without the WAL in normal situations. Writing one copy to memory will likely always be faster than writing to memory and writing multiple copies to disk. - Josh On 12/4/13, 10:53 AM, Peter Tillotson wrote: > Keith > > I tried tserver.mutation.queue.max=4M and it improved but by no where > near a significant difference. I my app records get turned into multiple > Accumulo rows. > > So in terms of my record write rate. > > wal=true & mutation.queue.max = 256K | ~8K records/s > wal=true & mutation.queue.max = 4M | ~14K records/s > wal=false | ~25K records/s > > Adam, > > Its one box so replication is off, good thought tnx. > > BTW - I've been plying around with ZFS compression vs Accumulo Snappy. > What I've found was quite interesting. The idea was that with ZFS dedup > and being in charge of compression I'd get a boost later on when blocks > merge. What I've found is that after a while with ZFS LZ4 the CPU and > disk all tail off, as though timeouts are elapsing somewhere whereas > SNAPPY maintains an average ~20k+. > > Anyway tnx and if I get a chance I may the 1.7 branch for the fix. > > > On Wednesday, 4 December 2013, 14:56, Adam Fuchs wrote: > One thing you can do is reduce the replication factor for the WAL. We > have found that makes a pretty significant different in write > performance. That can be modified with the tserver.wal.replication > property. Setting it to 2 instead of the default (probably 3) should > give you some performance improvement, of course at some cost to > durability. > > Adam > > > On Wed, Dec 4, 2013 at 5:14 AM, Peter Tillotson > wrote: > > I've been trying to get the most out of streaming data into Accumulo > 1.5 (Hadoop Cloudera CDH4). Having tried a number of settings, > re-writing client code etc I finally switched off the Write Ahead > Log (table.walog.enabled=false) and saw a huge leap in ingest > performance. > > Ingest with table.walog.enabled= true: ~6 MB/s > Ingest with table.walog.enabled= false: ~28 MB/s > > That is a factor of about x4.67 speed improvement. > > Now my use case could probably live without or work around not > having a wal, but I wondered if this was a known issue?? > (didn't see anything in jira), wal seem to be a significant rate > limiter this is either endemic to Accumulo or an HDFS / setup issue. > Though given everything is in HDFS these days and otherwise IO flies > it looks like Accumulo WAL is the most likely culprit. > > I don't believe this to be an IO issue on the box, with wal off the > is significantly more IO (up to 80M/s reported by dstat), with wal > on (up to 12M/s reported by dstat). Testing the box with FIO > sequential write is 160M/s. > > Further info: > Hadoop 2.00 (Cloudera cdh4) > Accumulo (1.5.0) > Zookeeper ( with Netty, minor improvement of <1MB/s ) > Filesystem ( HDFS is ZFS, compression=on, dedup=on, otherwise ext4 ) > > With large imports from scratch now I start off CPU bound and as > more shuffling is needed this becomes Disk bound later in the import > as expected. So I know pre-splitting would probably sort it. > > Tnx > > P > > > >