Guys, it's a big and complicated architecture issue.

Issue, like this was carefully researched about month ago (while P***)

root case of issue:

   - Now we use OVS for build virtual network topology on each node.
   - OVS has performance degradation while pass huge of small network
   packets.
   - We can’t abandon using OVS entirely and forever, because it's a most
   popular Neutron solution.
   - We can’t abandon using OVS partial now, because low-level modules
   don’t ready yet for this. I start blueprint (
   
https://blueprints.launchpad.net/fuel/+spec/l23network-refactror-to-provider-based-resources)
   for aim possibility of combine using OVS for Neutron purposes and don't use
   it for management, storage, etc... purposes.

We, together with L2 support team, Neutron team, and another network
experts make tuning one of existing production-like env after deployment
and achieve following values on bonds of two 10G cards:

   - vm-to-vm speed (on different compute nodes): 2.56 Gbits/sec (GRE
   segmentation)
   - node-to-node speed: 17.6 Gbits/s

This values closely near with theoretical maximum for OVS 1.xx with GRE.
Some performance improvements may also achieved by upgrading open vSwitch
to the latest LTS (2.3.1 at this time) branch and using "megaflow" feature (
http://networkheresy.com/2014/11/13/accelerating-open-vswitch-to-ludicrous-speed/
).


After this research we concluded:


   - OVS can't pass huge of small packages without network performance
   degradation
   - for fix this we should re-design network topology on env nodes
   - even re-designed network topology can't fix this issue at all. Some
   network parameters, like mtu, disabling offloading for NICs, buffers,
   etc... can be tuned only on real environment.


My opinion — in FUEL we should add new (or extend existing network-checker)
component.  This component should testing network performance on real
customer’s pre-configured env by different (already defined) performance
test cases and recommend better setup BEFORE main deployment cycle run.

/sv
_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to