openstack swift small objects put performance

asked 2014-03-07 01:36:41 -0500

Ivan Pustovalov gravatar image

HI! I have a cluster of 5 nodes with 3 replicas. All of the servers (e.g. proxy, account, object, container ) are installed on a single server, and I have 5 of these servers. I send put object requests from one testing thread and check client response time from cluster. And obtained results did not satisfy me. When I was researching tcp traffic, I found time loss on waiting HTTP 100 from object servers, 10-15 ms on each and 10 ms on proxy while checking quorum.

In my case, users can put small objects (e.g. 16 kbytes) into the cloud and I look forward to a load of 2000 requests per second. This time loss significantly reduces cloud performance. How I can reduce this time loss and what are best practices for tuning(tuning from deployment guide was already provided)?

edit retag flag offensive close merge delete

Comments

How many disks on a single node?

Hugo Kuo ( 2014-03-17 03:49:32 -0500 )edit

1 SATA drive is for daemons. And 1 SATA drive is for object storage. During testing, we found that disabling supporting daemons(e.g. container-updater) may increase performance.

Ivan Pustovalov ( 2014-03-17 08:22:13 -0500 )edit

I don't think Ivan is hitting spindles limit, or he'd be getting worse than 10ms waiting for 100-continue. It's just something our whole stack sucks at.

zaitcev ( 2014-06-13 15:06:05 -0500 )edit