Swift stores object metadata in the xattrs of the file on disk and XFS stores xattrs in the inodes. When swift was first developed, there were performance issues with using the default inode size in XFS, and led to us recommending to change the inode size when creating XFS filesystems.
In the past couple of years, the XFS team has made some big improvements to inode allocation and use. With some prompting from the XFS team at Redhat, I revisited testing the default inode size with swift. If you are using recent Linux Kernels, using the default inode size no longer has any impact to write (PUT) performance through swift. With this change we also get some added benefits such as improved caching of inodes and better overall file system performance. I think this is most greatly demonstrated in the following graph displaying total replication time over a period of two weeks: [image: Inline image 1] The green line represents the average of a handful of storage nodes that have the inode size set to 1024, and the blue line represents storage nodes that have the default inode size (256). I currently have a merge proposal[1] in process that updates the swift documentation, but thought I would send an email to the larger group to spread the word. I would like to thank the XFS folks at Redhat for letting us know about the improvements in XFS, and the XFS team in general for the great work they have done. -- Chuck [1] https://review.openstack.org/#/c/34890/
<<replication.png>>
_______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp