network topology page doesn't scale
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Fix Released
|
High
|
Akihiro Motoki |
Bug Description
We use openstack-ansbile project (branch 14.1.0, so basically newton) to deploy our openstack cloud.
How to reproduce problem:
In our case, we have a big project, which has 400+ servers, and 26 networks.
When we click project/
In the code, we found a scalability problem. Please see these lines: https:/
When loading network topology page (in _get_servers function), it iterates servers variable, and for each running server(instance), will make a i_console.
Imagine you have 1000 running servers in the project, each get_console() takes 200 milliseconds. So in the end in order to get all consoles, it will cost you 1000 x 200 (milliseconds) = 200 seconds. In openstack-ansible project, the default timeout for haproxy is only 50. So in the end it already times out for the user.
Something even worse, in the network topology diagram, it seems to have an auto refresh enabled. So every 20-30 seconds(probably), it fires all the requests to backend again.
I might have some suggestions.
Either we make this console link in network topology configurable,
or we fire the requests concurrently to backend?
Thanks,
Chenjun Shen
tags: | added: large-scale neutron |
description: | updated |
Changed in horizon: | |
assignee: | Chenjun Shen (cshen) → Akihiro Motoki (amotoki) |
Changed in horizon: | |
assignee: | Akihiro Motoki (amotoki) → Chenjun Shen (cshen) |
Changed in horizon: | |
milestone: | queens-2 → queens-3 |
Or another suggested fix would be
if the number of server list > a fixed number (like: 20), the console link should not be requested and shown due to performance consideration.