<div dir="ltr">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.<div>
<br></div><div style>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.</div>
<div style><br></div><div style>I think this is most greatly demonstrated in the following graph displaying total replication time over a period of two weeks:</div><div style><br></div><div style><img src="cid:ii_13f8b3f62397b046" alt="Inline image 1" width="430" height="226"></div>
<div style><br></div><div style>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).</div>
<div style><br></div><div style>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.</div><div style><br></div><div style>
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.</div><div style><br></div><div style>--</div><div style>Chuck</div>
<div style><br></div><div style>[1] <a href="https://review.openstack.org/#/c/34890/">https://review.openstack.org/#/c/34890/</a></div></div>