[Openstack] [Swift] Optimizing single node Swift instance

Christian Schwede christian.schwede at enovance.com
Thu Mar 20 07:34:00 UTC 2014


Am 19.03.14 23:40, schrieb Shrinand Javadekar:
> 1. Changing the partition power of the object server rings. I was
> running with a partition power of 8. I ran some experiments changing
> this to 4 and then even 0. Turned out that this actually hurt
> performance. I confirmed that the number of directories created in the
> objects directory was 2 ^ partition power. I guess with reduced number
> of directories (in the case of 0, there was just one directory) there
> was more contention at the xfs file-system causing the system to give
> lower throughput.
> 
> I tested with partition powers of 0, 4, 7, 8, 16. 7 because the swift
> ring calculator suggested so [1]. I got the best throughput at 8
> rings.

You might also have a look at
https://swiftstack.com/blog/2012/05/14/part-power-performance/ and
https://answers.launchpad.net/swift/+question/211929

Be careful when selecting a low partition power - you can't change it
later on and if you expect a significant growth of your cluster you
might run into some trouble.
Increasing the partition power later on requires a new ring, and that in
turn requires copying a lot of data (either to a new cluster [1] or
internally to other storage nodes [2]) and should only be done as a last
resort

Christian

[1] https://github.com/stackforge/swiftsync
[2] https://github.com/enovance/swift-ring-tool




More information about the Openstack mailing list