samba-bugs@samba.org
2008-Mar-14 14:21 UTC
DO NOT REPLY [Bug 5324] New: with option --xattrs the process rsync is more long time
https://bugzilla.samba.org/show_bug.cgi?id=5324
Summary: with option --xattrs the process rsync is more long time
Product: rsync
Version: 3.0.0
Platform: x86
OS/Version: Other
Status: NEW
Severity: normal
Priority: P3
Component: core
AssignedTo: wayned@samba.org
ReportedBy: fauthier@free.fr
QAContact: rsync-qa@samba.org
system on both server :
os x server 10.4.11
when i use the option -X (xattr) to synchronize about 400000 files between two
server, the time is four time more long that i don't use this (2h us 1/2h).
syntaxe :
rsync -aAX --del --force /source/ server2:/dest/ (400000 files -> 2hours)
rsync -aA --del --force /source/ server2:/dest/ (400000 files -> half hours)
thank you
F.A.
--
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2008-Mar-14 17:41 UTC
DO NOT REPLY [Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324
matt@mattmccutchen.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |enhancement
Summary|with option --xattrs the |Reduce the performance
|process rsync is more long |penalty of --xattrs on Mac
|time |OS X
------- Comment #1 from matt@mattmccutchen.net 2008-03-14 12:41 CST -------
Asking rsync to do more (preserve the xattrs) will inevitably make it take
longer, but a 4x slowdown does seem excessive.
--
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2008-Mar-15 08:04 UTC
DO NOT REPLY [Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324
wayned@samba.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
------- Comment #2 from wayned@samba.org 2008-03-15 03:04 CST -------
Do your files have a lot of differing xattrs? One thing I never much liked
about the xattrs patch (from the very beginning) is that the code attempts to
do a very simplistic linear search through all the prior xattrs looking for a
matching set of attributes (to share matching attributes between files). If
your files have a lot of xattr entries, that search will eat up more and more
time as the list of unique attributes grows.
One solution to this might be to create a hash of all the names and xattr data,
and then store the xattrs in a hash lookup. That should speed things up quite
a bit when the list of unique xattr values grows large.
Note: if you are using the osx-create-time.diff, please switch to the
crtime.diff instead -- the oxs-create-time.diff patch is known to be slow,
quitely possibly due to the bloating of unique xattr values in the list.
--
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2008-Apr-10 16:34 UTC
DO NOT REPLY [Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324 ------- Comment #3 from fauthier@free.fr 2008-04-10 11:35 CST -------> One solution to this might be to create a hash of all the names and xattr data,and then store the xattrs in a hash lookup. That should speed things up quite a bit when the list of unique xattr values grows large. Thank you, but how do it this hash ? thank's a lot (I use now the rsync 3.0.2) -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug, or are watching the QA contact.
samba-bugs@samba.org
2009-Jun-21 02:53 UTC
DO NOT REPLY [Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324
mike@bombich.com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mike@bombich.com
------- Comment #4 from mike@bombich.com 2009-06-20 21:53 CST -------
Mac OS X makes extensive use of xattrs, and I've seen hundreds of thousands
of
unique xattrs on several end-user systems. In those cases rsync eventually
runs out of memory and bails.
rsync should probably stop calling find_matching_xattr when the list reaches a
specified size. And at least for Mac OS X, xattrs shouldn't be cached in
rsync_xal_l, they should probably be compared on the fly by the generator
somewhere near generate_and_send_sums.
Also, to address Fabrice's concern, performance will ultimately be directly
linked to the lack of a quick heuristic for determining whether xattrs have
been modified. xattrs don't have modifications dates, so you can use either
the size or a checksum to determine if they've changed. In my analysis,
rsync
spent 20% of its time in md5_process on a task involving many xattrs with lots
of data. Unless we come up with something faster than md5 (potentially at the
cost of reliability), this is just a performance hit we'll have to live
with.
I'm going to take a stab at this, but I'm curious whether you've put
any more
thought into how xattr support is implemented since your last comment here.
Thanks!
Mike Bombich
--
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.
samba-bugs at samba.org
2016-Jun-06 15:01 UTC
[Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324 --- Comment #5 from Björn Jacke <bjacke at samba.org> --- how about adding an option like "--use-ctime-before-xattr-compares", which only reads and compares EAs for files where the ctime on the source side is newer than the ctime on the target side. EA modifications update the ctime ususally. This would be a way to speed up syncing with EAs quite a lot I think. -- You are receiving this mail because: You are the QA Contact for the bug.
samba-bugs at samba.org
2016-Jul-22 17:49 UTC
[Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324 --- Comment #6 from Stefan Metzmacher <metze at samba.org> --- Created attachment 12285 --> https://bugzilla.samba.org/attachment.cgi?id=12285&action=edit A first work in progress patch to add a hashtable I need to clean this up and do more tests. But with 1000 unique xattrs I got 50% less cpu instruction in callgrind. -- You are receiving this mail because: You are the QA Contact for the bug.
samba-bugs at samba.org
2016-Jul-25 07:07 UTC
[Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324
Stefan Metzmacher <metze at samba.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #12285|0 |1
is obsolete| |
--- Comment #7 from Stefan Metzmacher <metze at samba.org> ---
Created attachment 12286
--> https://bugzilla.samba.org/attachment.cgi?id=12286&action=edit
valgrind clean work in progress patch
--
You are receiving this mail because:
You are the QA Contact for the bug.
samba-bugs at samba.org
2016-Jul-25 15:19 UTC
[Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324
Stefan Metzmacher <metze at samba.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #12286|0 |1
is obsolete| |
CC| |wayned at samba.org
Attachment #12287| |review?(wayned at samba.org)
Flags| |
--- Comment #8 from Stefan Metzmacher <metze at samba.org> ---
Created attachment 12287
--> https://bugzilla.samba.org/attachment.cgi?id=12287&action=edit
Possible patch for master
I hope this is an acceptable patchset to fix the problem for rsync master.
--
You are receiving this mail because:
You are the QA Contact for the bug.
samba-bugs at samba.org
2016-Aug-14 21:48 UTC
[Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324
Wayne Davison <wayned at samba.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|3.0.0 |3.1.3
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #9 from Wayne Davison <wayned at samba.org> ---
The patchset looks very nice. Thanks!
I've made some very minor tweaks and committed it.
--
You are receiving this mail because:
You are the QA Contact for the bug.
samba-bugs at samba.org
2016-Dec-27 09:28 UTC
[Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324 --- Comment #10 from Oren Kishon <orenk at ctera.com> ---> how about adding an option like "--use-ctime-before-xattr-compares", which only > reads and compares EAs for files where the ctime on the source side is newer > than the ctime on the target side. EA modifications update the ctime ususally. > This would be a way to speed up syncing with EAs quite a lot I think.Has anyone started developing this? Thanks you Oren Kishon, Ctera -- You are receiving this mail because: You are the QA Contact for the bug.
samba-bugs at samba.org
2016-Dec-27 10:02 UTC
[Bug 5324] Reduce the performance penalty of --xattrs on Mac OS X
https://bugzilla.samba.org/show_bug.cgi?id=5324 --- Comment #11 from Björn Jacke <bjacke at samba.org> --- no, because the problem was fixed with metzes patch. if you see a need for the ctime compare, then please open a new bug report for it. this bug here is closed and fixed. -- You are receiving this mail because: You are the QA Contact for the bug.
Apparently Analagous Threads
- [Bug 8566] New: Spotlight comments (extended attributes) are not synced
- Connection problem due to tdb_lock failed
- DO NOT REPLY [Bug 5365] New: --backup and --xattrs are not compatible
- checksum-xattr.diff [CVS update: rsync/patches]
- Interoperability with MAC OSX clients, resource forks, xattrs