<div dir="ltr">Hi Shrinand, <div><br></div><div>The concurrency bottleneck of Swift cluster could be various. </div><div>Here's a list : </div><div><ul><li>Settings of each workers, workers count, max_clients, threads_per_disk. <br>
</li><li>Proxy CPU bound<br></li><li>Storage nodes CPU bound<br></li><li>Total Disk IO capacity (includes available memory for xfs caching)<br></li><li>The power of your client machines</li><li>Network issue</li></ul><div>
<br></div></div><div>You need to analyze the monitoring data to find the real bottleneck. </div><div>The range of concurrency connections performance depends on the deployment. </div><div>Concurrent connections from 150(VMs) to 6K+(physical sever pool). Of course that you can setup multiple proxy servers for handling higher concurrency as long as your storage nodes can stand for it. </div>
<div><br></div><div>The path of a request in my knowing: </div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>Client --> Proxy-server --> object-server --> container-server (optional async) --> object-server --> Proxy-server --> Client --> close connection.</div>
</blockquote><div><br></div><div>Hope it help</div><div>Hugo </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014/1/11 Shrinand Javadekar <span dir="ltr"><<a href="mailto:shrinand@maginatics.com" target="_blank">shrinand@maginatics.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi,<div><br></div><div>This question is specific to Openstack Swift. I am trying to understand just how much is the proxy server a bottleneck when multiple clients are concurrently trying to write to a swift cluster. Has anyone done experiments to measure this? It'll be great to see some results.</div>

<div><br></div><div>I see that the proxy-server already has a "workers" config option. However, looks like that is the # of threads in one proxy-server process. Does having multiple proxy-servers themselves, running on different nodes (and having some load-balancer in front of them) help in satisfying more concurrent writes? Or will these multiple proxy-servers also get bottlenecked on the account/container/obj server?</div>

<div><br></div><div>Also, looking at the code in swift/proxy-server/controllers/obj.py, it seems that each request that the proxy-server sends to the backend servers (account/container/obj) is synchronous. It does not send the request and go back do accept more requests. Is this one of the reasons why write requests can be slow?</div>

<div><br></div><div>Thanks in advance.</div><div>-Shri</div></div>
<br>_______________________________________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br>
<br></blockquote></div><br></div>