Hello Łukasz,

Monday, July 23, 2007, 1:19:16 PM, you wrote:

Ł> ZFS send is very slow.
Ł> dmu_sendbackup function is traversing dataset in one thread and in 
Ł> traverse callback function ( backup_cb  ) we are waiting for data in 
Ł> arc_read called with ARC_WAIT flag.

Ł> I want to parallize zfs send to make it faster. 
Ł> dmu_sendbackup could allocate buffer, that will be used for buffering output.
Ł> Few threads can traverse dataset, few threads would be used for async read 
operations.

Ł> I think it could speed up zfs send operation 10x.

Ł> What do you think about it ?

I guess you should check with Matthew Ahrens as IIRC he's working on
'zfs send -r' and possibly some other improvements to zfs send. The
question is what code changes Matthew has done so far (it hasn't been
integrated AFAIK) and possibly work from there. Or perhaps Matthew is
already working on it also...

Now, if zfs resides on lots of disks then I guess it should speed up
zfs send considerably, at least in some cases (lot of small files,
written/deleted/created randomly).

Then it would be great if you could implement something and share with
us some results to see if there's actually some performance gain.

Also I guess you'll have to write all transactions to the other end
(zfs recv) in the same order they were created on disk,or not?


ps. Lukasz - nice to see you here more and more :)


-- 
Best regards,
 Robert                            mailto:[EMAIL PROTECTED]
                                       http://milek.blogspot.com

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to