<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 27, 2015 at 10:26 PM, Gordon Sim <span dir="ltr"><<a href="mailto:gsim@redhat.com" target="_blank">gsim@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 01/27/2015 06:31 PM, Doug Hellmann wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
On Tue, Jan 27, 2015, at 12:28 PM, Denis Makogon wrote:<br>
</span><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I'd like to build tool that would be able to profile messaging over<br>
various deployments. This "tool" would give me an ability to compare<br>
results of performance testing produced by native tools and<br>
oslo.messaging-based tool, eventually it would lead us into digging into<br>
code and trying to figure out where "bad things" are happening (that's<br>
the<br>
actual place where we would need to profile messaging code). Correct me<br>
if<br>
i'm wrong.<br>
</blockquote>
<br>
It would be interesting to have recommendations for deployment of rabbit<br>
or qpid based on performance testing with oslo.messaging. It would also<br>
be interesting to have recommendations for changes to the implementation<br>
of oslo.messaging based on performance testing. I'm not sure you want to<br>
do full-stack testing for the latter, though.<br>
<br>
Either way, I think you would be able to start the testing without any<br>
changes in oslo.messaging.<br>
</span></blockquote>
<br>
I agree. I think the first step is to define what to measure and then construct an application using olso.messaging that allows the data of interest to be captured using different drivers and indeed different configurations of a given driver.<br>
<br>
I wrote a very simple test application to test one aspect that I felt was important, namely the scalability of the RPC mechanism as you increase the number of clients and servers involved. The code I used is <a href="https://github.com/grs/ombt" target="_blank">https://github.com/grs/ombt</a>, its probably stale at the moment, I only link to it as an example of approach.<br>
<br>
Using that test code I was then able to compare performance in this one aspect across drivers (the 'rabbit', 'qpid' and new amqp 1.0 based drivers _ I wanted to try zmq, but couldn't figure out how to get it working at the time), and for different deployment options using a given driver (amqp 1.0 using qpidd or qpid dispatch router in either standalone or with multiple connected routers).<br>
<br>
There are of course several other aspects that I think would be important to explore: notifications, more specific variations in the RPC 'topology' i.e. number of clients on given server number of servers in single group etc, and a better tool (or set of tools) would allow all of these to be explored.<br>
<br>
>From my experimentation, I believe the biggest differences in scalability are going to come not from optimising the code in oslo.messaging so much as choosing different patterns for communication. Those choices may be constrained by other aspects as well of course, notably approach to reliability.<div class=""><div class="h5"><br>
<br></div></div></blockquote><div><br></div><div><div>After couple internal discussions and hours of investigations, i think i've foung the most applicabale solution </div><div>that will accomplish performance testing approach and will eventually be evaluated as messaging drivers </div><div>configuration and AMQP service deployment recommendataion.</div><div><br></div><div>Solution that i've been talking about is already pretty well-known across OpenStack components - Rally and its scenarios.</div><div>Why it would be the best option? Rally scenarios would not touch messaging  core part. Scenarios are gate-able. </div><div>Even if we're talking about internal testing, scenarios are very useful in this case, </div><div>since they are something that can be tuned/configured taking into account environment needs.</div></div><div><br></div><div>Doug, Gordon, what do you think about bringing scenarios into messaging? </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">
______________________________<u></u>______________________________<u></u>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.<u></u>openstack.org?subject:<u></u>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/<u></u>cgi-bin/mailman/listinfo/<u></u>openstack-dev</a><br>
</div></div></blockquote></div><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Kind regards,</div><div class="gmail_extra">Denis M.</div><div class="gmail_extra"><br></div></div>