[ovs-discuss] OVS bad performance on lower packet size

Alex Wang alexw at nicira.com
Tue Dec 9 17:15:27 UTC 2014


Hey Rahul,

The kernel version should not make a difference,

I'm curious, since ovs-2.3.0 is multithreaded, not sure how do you measure
the cpu usage to be 100%?

Also, could you post the full `mpstat -P ALL` output, so we can see the
distribution of cpu usage,


Thanks,
Alex Wang,



On Tue, Dec 9, 2014 at 1:49 AM, Rahul Arora <rahul1991.arora at gmail.com>
wrote:

> Hi Alex,
>
> Thanks for your help.
>
> I am using the following command to test CPU usage.
>
> mpstat -P ALL 1
>
> I was using 3.12 kernel version and you are using 3.13.0-30-generic
> version.Please let me know if this can be the issue??
>
>
>
> On Sat, Dec 6, 2014 at 5:04 AM, Alex Wang <alexw at nicira.com> wrote:
>
>> Hey Rahul,
>>
>> Could you help confirm the following:
>>
>> 1. did you use vm or bare metal machine for testing?
>>
>> 2. how do you measure the cpu utilization of ovs and kernel bridge?
>>
>>
>> We ran some throughput tests, and we observed constant better
>> performance over the Linux bridge.
>>
>> Below is a set of our own throughput test result using ovs branch-2.3.
>>
>> Plateform:
>> Server Dell R620, running Ubuntu 14.04 (3.13.0-30-generic), NIC is Intel
>> X540.
>>
>> Flow:
>> Single flow, "in_port=1,actions:output=2"
>>
>> Traffic type:
>> - unidirectional TCP throughput using Spirent (1 flow and 128 flows).
>>
>>
>> *Throughput view (unit: Gbit/s):*
>>
>>    Linux Bridge,
>> Frame Size1 flow128 flow780.6021.5121280.9812.1892561.8155.4335123.252
>> 5.29910246.65810.015149.6849.98790009.92110.0
>>
>>    OVS Branch-2.3:
>> Frame Size1 flow128 flow780.78.2581281.09810.02561.89810.05123.69410.0
>> 10247.1910.015149.8849.98790009.89910.0
>>
>>
>>
>> *Frame Per Second view (unit: Frames/s):*
>>
>>    Linux Bridge,
>> Frame Size1 flow128 flow78768057192901212882891218491122568220702460630
>> 51276405812450201024797193119731815147891418138029000137491138581
>>
>>    OVS Branch-2.3:
>> Frame Size1 flow128 flow788928571053370712892729984459462568593864528985
>> 51286805523496241024860881119731815148054128138029000137181138581
>>
>>
>> Thanks,
>> Alex Wang,
>>
>> On Wed, Nov 26, 2014 at 10:35 PM, Rahul Arora <rahul1991.arora at gmail.com>
>> wrote:
>>
>>> Hi Team,
>>>
>>> We are doing comparison of throughput and CPU consumption between OVS
>>> 2.3.0 and kernel bridge with different packet size.
>>>
>>> We are observing huge difference in performance. With frame size 64 and
>>> 128 bytes unidirectional traffic from port1 to port2 below are the numbers.
>>>
>>>
>>> *OVS 2.3.0 (Dual core with matching flow in kernel space, kernel 3.12)*
>>>
>>> * kernel bridge(Dual Core System, kernel 3.12) *  *FRAME SIZE* *Throughput
>>> unidirectional (Mbps)* *CPU Usage %* *VS* *FRAME SIZE* *Throughput
>>> (Mbps)* *CPU Usage %*  64 375 100 64 487 100  128 747 100 128 864 40
>>> 256 927 10 256 927 5  320 941 8 320 941 4  384 950 6 384 950 4  448 957
>>> 4 448 957 3  512 962 3 512 962 3  1024 980 1 1024 980 1  1500 986 1 1500
>>> 986 1
>>> We have matching flow in kernel space with in_port=1 and action=output:2
>>> and flow is matching in kernel space
>>>
>>> How we can improve the performance of OVS i.e. increasing the throughput
>>> and decrease CPU consumption with lower frame size.
>>>
>>> _______________________________________________
>>> discuss mailing list
>>> discuss at openvswitch.org
>>> http://openvswitch.org/mailman/listinfo/discuss
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20141209/e564cd0d/attachment-0002.html>


More information about the discuss mailing list