Date: Fri, 1 Oct 2010 11:53:25 -0400 From: "Dan Langille" <dan@langille.org> To: "Artem Belevich" <fbsdlist@src.cx> Cc: freebsd-stable@freebsd.org Subject: Re: zfs send/receive: is this slow? Message-ID: <55a0e58dd844285fbb50cb2904820943.squirrel@nyi.unixathome.org> In-Reply-To: <c04d555ffc484824b28c4c98659cf004.squirrel@nyi.unixathome.org> References: <a263c3beaeb0fa3acd82650775e31ee3.squirrel@nyi.unixathome.org> <AANLkTikb-uw25UJYT8bt_qWshRmz%2B=FcNzkSZt_eAe4q@mail.gmail.com> <c04d555ffc484824b28c4c98659cf004.squirrel@nyi.unixathome.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, October 1, 2010 11:45 am, Dan Langille wrote: > > On Wed, September 29, 2010 3:57 pm, Artem Belevich wrote: >> On Wed, Sep 29, 2010 at 11:04 AM, Dan Langille <dan@langille.org> wrote: >>> It's taken about 15 hours to copy 800GB. I'm sure there's some tuning >>> I >>> can do. >>> >>> The system is now running: >>> >>> # zfs send storage/bacula@transfer | zfs receive >>> storage/compressed/bacula >> >> Try piping zfs data through mbuffer (misc/mbuffer in ports). I've >> found that it does help a lot to smooth out data flow and increase >> send/receive throughput even when send/receive happens on the same >> host. Run it with a buffer large enough to accommodate few seconds >> worth of write throughput for your target disks. >> >> Here's an example: >> http://blogs.everycity.co.uk/alasdair/2010/07/using-mbuffer-to-speed-up-slow-zfs-send-zfs-receive/ > > I'm failing. In one session: > > # mbuffer -s 128k -m 1G -I 9090 | zfs receive > storage/compressed/bacula-mbuffer > Assertion failed: ((err == 0) && (bsize == sizeof(rcvsize))), function > openNetworkInput, file mbuffer.c, line 1358. > cannot receive: failed to read from stream > > > In the other session: > > # time zfs send storage/bacula@transfer | mbuffer -s 128k -m 1G -O > 10.55.0.44:9090 > Assertion failed: ((err == 0) && (bsize == sizeof(sndsize))), function > openNetworkOutput, file mbuffer.c, line 897. > warning: cannot send 'storage/bacula@transfer': Broken pipe > Abort trap: 6 (core dumped) > > real 0m17.709s > user 0m0.000s > sys 0m2.502s My installed mbuffer was out of date. After an upgrade: # mbuffer -s 128k -m 1G -I 9090 | zfs receive storage/compressed/bacula-mbuffer mbuffer: warning: unable to set socket buffer size: No buffer space available in @ 0.0 kB/s, out @ 0.0 kB/s, 1897 MB total, buffer 100% full # time zfs send storage/bacula@transfer | mbuffer -s 128k -m 1G -O ::1:9090 mbuffer: warning: unable to set socket buffer size: No buffer space available in @ 4343 kB/s, out @ 2299 kB/s, 3104 MB total, buffer 85% full -- Dan Langille -- http://langille.org/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55a0e58dd844285fbb50cb2904820943.squirrel>