Question in decreasing the replication counts.

asked 2014-08-04 00:39:32 -0500

joseph yang gravatar image


This is my first time to write something in openstack user groups.

I'm operating an Object Storage Service by using Openstack swift. It's storage service like drop box in korea. Storage usage is rapidly increased so I have to make an decision for efficiency. I decided to decrease the replication count from 3 to 2. I know there is an issue in durability. But in my experience two more devices was not in trouble at the same time.

Anyway my system is like below

"object : 1,000,000,000"

"total size : 2.88P"

"Devices : 6048"

"Zone : 6"

"Partitions : 2097152"

"Replication count : 3"

"Replicator Concurrency : 3"

I tested with my staging environment, which is like that

"object : 2,000,000"

"total size : 15T"

"Devices : 30"

"Zone : 6"

"Partitions : 4096"

"Replicator Concurrency : 1"

Result : replication count 3 -> 2 took 150h replication count 3 -> 2.5 took 100h

I was shocked that it took too much time.

Simply change the circulation replication count 3 -> 2 took 2 year in production. replication count 3 -> 2.5 took 1 year in production.

I know there are a lot of differences in the system between Production and Staging. And It is just estimation. I need to find the way to decrease working time. I read the source code of swift proxy and my result is that increse the Replicator Concurrency. And my plan is gradually incresing Replicator Concurrency counts for production safety.

In this case, I want to know your opinion about my plan. (Is is ok? I'm not sure about decreasing replication count. It's ok just in probability.)

And I have a question that is there any other way to boost up the speed?


edit retag flag offensive close merge delete