swift-proxy start or reload taking 20 to 30 mintues.

Asked by Brent Williams on 2012-07-12

We have installed swift proxy-servers on several server instances when we run swift-init proxy start or reload , the service takes about 10 to 15 minutes just to parse the ring files, then the worker threads take an additional 10 to 15 minutes to complete the startup. We are using several large ring files based on the size of our storage needs.

My questions is what are we doing wrong? Is there any type of optimization that we can perform to make this startup time faster? Once the services have completed the startup performance and CPU utilization are normal. Having startup times this long makes it very difficult to run in production if we ever need to reload any configuration changes.

We are using swift 1.4.8, Linux 12.04 LTS on a VMs with 4 CPUs, 8 GB Ram.

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Last query:
2012-07-12
Last reply:
2012-08-02
Samuel Merritt (torgomatic) said : #1

What's the part_power on your rings? Also, what's the file size of your *.ring.gz files?

The partition power we used is 23, we realize this is very large but we are planning on a 5 to 8 year scaling process.

The files sizes are as follows:
account.ring.gz - 6.5 Meg.
container.ring.gz - 6.5 Meg.
object.ring.gz - 37 Meg.

Samuel Merritt (torgomatic) said : #3

You might try patching your Swift installation with commit c67e568. That commit speeds up ring loading on Python 2.7.

I don't think there was much, if any, change to the ring-loading code between 1.4.8 and now, so it should be a straightforward patch job.

John Dickinson (notmyname) said : #4

I suspect the issue is related to this bug, submitted yesterday.

https://bugs.launchpad.net/swift/+bug/1031954

Can you help with this problem?

Provide an answer of your own, or ask Brent Williams for more information if necessary.

To post a message you must log in.