[Openstack-operators] Fwd: [openstack-dev] [nova][neutron] Filtering Instances by IP address performance improvement test result
Matt Riedemann
mriedemos at gmail.com
Fri Jan 5 23:09:15 UTC 2018
FYI, some performance test results for a series of patches between nova
and neutron to try and improve the performance of listing instances and
filtering by ip.
-------- Forwarded Message --------
Subject: [openstack-dev] [nova][neutron] Filtering Instances by IP
address performance improvement test result
Date: Fri, 5 Jan 2018 10:53:56 +0800
From: Zhenyu Zheng <zhengzhenyulixi at gmail.com>
Reply-To: OpenStack Development Mailing List (not for usage questions)
<openstack-dev at lists.openstack.org>
To: OpenStack Development Mailing List (not for usage questions)
<openstack-dev at lists.openstack.org>
Hi All,
We are working on patches to improve the performance filtering instance
by IP address this cycle. As discussed in the previous ML[1], it
contains both patches from Nova and Neutron[2][3][4][5][6].
As the POC is almost functional(the neutron extension part seems not
working, it cannot be successfully listed in patchset 14 of [5] , I have
to bypass the "if" condition for checking neutron
"ip-substring-filtering" extension to make it work, but that seems easy
to fix), I made some tests to check what kind of improvement has been
done with those patches.
In the tests, I wrote a simple script [7](the script is silly, please
don't laugh at me:) ) which generated 2000 vm records in Nova DB with IP
address allocated(one IP for each vm), and also 2000 port records with
corresponding IP addresses in my local devstack env.
Before adding those patches, querying instance with a specific IP
filtering causes about 4000 ms, the test has been done several times,
and I took the averaged result:
Inline image 1
After adding those patches(and some modifications as mentioned above)
querying with the same request causes only about 400ms:
Inline image 2
So, the design seems working well.
I also tested with a "Sub-String" manner filtering with IP address:
192.168.7.2, which will match 66 instances, and it takes about 900ms:
Inline image 3
It increased, but seems reasonable as it matches more instances, and
still much better than current implementation.
Please test out in your own env if interested, the script might need
some modification as I hardcoded db connection, network_id and subnet_id.
And also, please help review the patches :)
[1]
http://lists.openstack.org/pipermail/openstack-operators/2017-October/014459.html
[2] https://review.openstack.org/#/c/509326/
[3] https://review.openstack.org/#/c/525505/
[4] https://review.openstack.org/#/c/518865/
[5] https://review.openstack.org/#/c/521683/
[6] https://review.openstack.org/#/c/525284/
[7]
https://github.com/zhengzhenyu/groceries/blob/master/Ip_filtering_performance_test.py
BR,
Kevin Zheng
-------------- next part --------------
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-operators
mailing list