[ovs-dev] Reproducing ovn-scale-test results
Valentine Sinitsyn
valentine.sinitsyn at gmail.com
Fri Mar 17 09:50:09 UTC 2017
Hi,
On 17.03.2017 02:24, Han Zhou wrote:
>
>
> On Thu, Mar 16, 2017 at 1:06 PM, Valentine Sinitsyn
> <valentine.sinitsyn at gmail.com <mailto:valentine.sinitsyn at gmail.com>> wrote:
>>
>> Hi Han,
>>
>> Thanks for the quick answer.
>>
>> On 17.03.2017 00:34, Han Zhou wrote:
>>>
>>> On Thu, Mar 16, 2017 at 3:58 AM, Valentine Sinitsyn
>>> <valentine.sinitsyn at gmail.com <mailto:valentine.sinitsyn at gmail.com>
> <mailto:valentine.sinitsyn at gmail.com
> <mailto:valentine.sinitsyn at gmail.com>>> wrote:
>>>>
>>>>
>>>> Hi all,
>>>>
>>>> We are doing some stress testing on OVN 2.7, and wanted to reproduce
>>>
>>> results from the talk [1]. Looking at ovn-scale-test sources, I have two
>>> questions:
>>>>
>>>>
>>>
>>> Hi Valentine,
>>>
>>> Thanks for picking this up.
>>>
>>>
>>>> - Do I get correctly that the benchmark always starts with the empty
>>>
>>> northbound db. Then lswitches are added, then you add ports to each
> lswitch?
>>>>
>>>>
>>>
>>> Yes, the test result shown in the talk was started from empty to
>>> gradually reach 20k lports on 200 lswitches.
>>>
>>>> - What is the batch size in port_create_args?
>>>
>>>
>>> I remember it was 100. In addition, there were 5 jobs running in
> parallel.
>>> +Lei to confirm.
>>
>> Could you recall how long (approximately) does it take to create and
> bind 20K ports with these settings? This would be really helpful.
>>
>
> I don't have the raw data now, but it took around 1 - 2 hours.
> We don't always run the full test, but after the full test is completed,
> we can just run another task to create and bind 1k more lports to
> evaluate the optimizations in each iteration on top of the existing scale.
Did you restart controllers or ovn-northd after running full tests
before binding more ports. It would be interesting to learn how long
does it take warm up IDL in controllers/northd in your setup.
>
> One more thing, the graph shared also involved sandbox (simulated HV)
> creation and lswitch creation. They were all created gradually during
> the test run.
> The flow was like:
> 1. create 50 sandboxes
> 2. (5 jobs in parallel) create 1 lswitch, create 100 lports, bind 100
> lports, wait 100 lport up
> 3. if there are 100 sandboxes already on the BM, switch to another BM
> 4. goto step1, until it is done for all 20 BMs.
>
> Moreover, in current ovs-scale-test code, the step "wait 100 lport up"
> is updated utilizing a new feature (wait for HVs to catch up) that was
Are you referring to ovn-nbctl --wait-until, or something else? If you
were not using it for the talk, what exactly does "create + bind" mean
on the graph?
Many thanks again.
Valentine
> added after the report, and we didn't run the test again yet with this
> change. I would expect it impact the test result slightly negatively,
> but it would more accurate.
>
>>>
>>>>
>>>> In short: is it true that for the setup involving (say) 10000 ports
>>>
>>> spanned over 100 lswitches in the aforementioned test, a Rally task
>>> would look like this?
>>>>
>>>>
>>>> {
>>>> "version": 2,
>>>> "title": "Create and bind port",
>>>> "subtasks": [{
>>>> "title": "Create and bind port",
>>>> "workloads": [{
>>>> "name": "OvnNetwork.create_and_bind_ports",
>>>> "args": {
>>>> "network_create_args": {
>>>> "amount": 100,
>>>> "batch": 1,
>>>> "start_cidr": "172.16.1.0/24
> <http://172.16.1.0/24> <http://172.16.1.0/24>",
>>>> "physical_network": "providernet"
>>>> },
>>>> "port_create_args" : {"batch": 2},
>>>> "ports_per_network": 100,
>>>> "port_bind_args": {"wait_up": true}
>>>> },
>>>> "runner": {
>>>> "type": "serial","times": 1},
>>>> "context": {
>>>> "ovn_multihost" : {
>>>> "controller": "ovn-controller-node"
>>>> },
>>>> "sandbox":{ "tag": "ToR1"}
>>>> }
>>>> }]
>>>> }]
>>>> }
>>>>
>>>> 1. https://youtu.be/okralc7LrZo?t=1185
>>>>
>>>> Thanks,
>>>> Valentine
>>>
>>>
>>
>> --
>> С уважением,
>> Синицын Валентин
>
More information about the dev
mailing list