<div dir="ltr"><div>Were the backends (zookeeper, etcd) deployed in a cluster configuration? I can't quite tell from the doc. </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 22, 2016 at 12:58 AM, John Schwarz <span dir="ltr"><<a href="mailto:jschwarz@redhat.com" target="_blank">jschwarz@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You're right Joshua.<br>
<br>
Tooz HEAD points to 0f4e1198fdcbd6a29d77c67d105d201ed0fbd9e0.<br>
<br>
With regards to etcd and zookeeper's versions, they are:<br>
zookeeper-3.4.5+28-1.cdh4.7.1.p0.13.el6.x86_64,<br>
etcd-2.2.5-2.el7.0.1.x86_64.<br>
<span class="HOEnZb"><font color="#888888"><br>
John.<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Thu, Jul 21, 2016 at 8:14 PM, Joshua Harlow <<a href="mailto:harlowja@fastmail.com">harlowja@fastmail.com</a>> wrote:<br>
> Hi John,<br>
><br>
> Thanks for gathering this info,<br>
><br>
> Do you have the versions of the backend that were used here (particularly<br>
> relevant for etcd which has a new release pretty frequently).<br>
><br>
> It'd be useful to capture that info also :)<br>
><br>
> John Schwarz wrote:<br>
>><br>
>> Hi everyone,<br>
>><br>
>> Following [1], a few of us sat down during the last day of the Austin<br>
>> Summit and discussed the possibility of adding formal support for<br>
>> Tooz, specifically for the locking mechanism it provides. The<br>
>> conclusion we reached was that benchmarks should be done to show if<br>
>> and how Tooz affects the normal operation of Neutron (i.e. if locking<br>
>> a resource using Zookeeper takes 3 seconds, it's not worthwhile at<br>
>> all).<br>
>><br>
>> We've finally finished the benchmarks and they are available at [2].<br>
>> They test a specific case: when creating an HA router a lock-free<br>
>> algorithm is used to assign a vrid to a router (this is later used for<br>
>> keepalived), and the benchmark specifically checks the effects of<br>
>> locking that function with either Zookeeper or Etcd, using the no-Tooz<br>
>> case as a baseline. The locking was checked in 2 different ways - one<br>
>> which presents no contention (acquire() always succeeds immediately)<br>
>> and one which presents contentions (acquire() may block until a<br>
>> similar process for the invoking tenant is complete).<br>
>><br>
>> The benchmarks show that while using Tooz does raise the cost of an<br>
>> operation, the effects are not as bad as we initially feared. In the<br>
>> simple, single simultaneous request, using Zookeeper raised the<br>
>> average time it took to create a router by 1.5% (from 11.811 to 11.988<br>
>> seconds). On the more-realistic case of 6 simultaneous requests,<br>
>> Zookeeper raised the cost by 3.74% (from 16.533 to 17.152 seconds).<br>
>><br>
>> It is important to note that the setup itself was overloaded - it was<br>
>> built on a single baremetal hosting 5 VMs (4 of which were<br>
>> controllers) and thus we were unable to go further - for example, 10<br>
>> concurrent requests overloaded the server and caused some race<br>
>> conditions to appear in the L3 scheduler (bugs will be opened soon),<br>
>> so for this reason we haven't tested heavier samples and limited<br>
>> ourselves to 6 simultaneous requests.<br>
>><br>
>> Also important to note that some kind of race condition was noticed in<br>
>> tooz's etcd driver. We've discussed this with the tooz devs and<br>
>> provided a patch that is supposed to fix them [3].<br>
>> Lastly, races in the L3 HA Scheduler were found and we are yet to dig<br>
>> into them and find out their cause - bugs will be opened for these as<br>
>> well.<br>
>><br>
>> I've opened the summary [2] for comments so you're welcome to open a<br>
>> discussion about the results both in the ML and on the doc itself.<br>
>><br>
>> (CC to all those who attended the Austin Summit meeting and other<br>
>> interested parties)<br>
>> Happy locking,<br>
>><br>
>> [1]:<br>
>> <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-April/093199.html" rel="noreferrer" target="_blank">http://lists.openstack.org/pipermail/openstack-dev/2016-April/093199.html</a><br>
>> [2]:<br>
>> <a href="https://docs.google.com/document/d/1jdI8gkQKBE0G9koR0nLiW02d5rwyWv_-gAp7yavt4w8" rel="noreferrer" target="_blank">https://docs.google.com/document/d/1jdI8gkQKBE0G9koR0nLiW02d5rwyWv_-gAp7yavt4w8</a><br>
>> [3]: <a href="https://review.openstack.org/#/c/342096/" rel="noreferrer" target="_blank">https://review.openstack.org/#/c/342096/</a><br>
>><br>
>> --<br>
>> John Schwarz,<br>
>> Senior Software Engineer,<br>
>> Red Hat.<br>
>><br>
>> __________________________________________________________________________<br>
>> OpenStack Development Mailing List (not for usage questions)<br>
>> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
<br>
<br>
--<br>
John Schwarz,<br>
Senior Software Engineer,<br>
Red Hat.<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div>