Netdoc: P_Ports einer BCD anzeigen Performance
Die Performance ist aktuell eine Katastrophe; der Aufwand in der API wird viel zu groß, wenn man größere BCDs anschaut (Die Query braucht bei ~8 Ports schon zwischen 3.5 und 7 Sekunden).
Schuld daran ist api_func_nd_p_port_is_intersect_of_conn_node_set
. Das ist für das Anfragebedürfnis allerdings Overkill; mMn sollte in diesem Fall immer api_fkey_nd_p_port_conn_dest
ausreichen, da man durch den Join BCD-Vlan->l_port->p_port immer am Switch ist und der Port in die richtige Richtung schaut, sodass dest_connected_gfk
immer in die richtige Richtung zeigen sollte.
Der Constraint ist aktuell leider wieder rausgeflogen; würde das aber gerne mal testen.
Das notwendige Statement könnte dann in etwa so aussehen; man muss nochmal schauen, was man da genau möchte.
[
{
"name": "nd.bcd.list",
"idx": "bcd_list",
"old": {
"name": "fsmi-sec"
}
},
{
"name": "nd.vlan.list",
"idx": "vlan_list",
"inner_join_ref": {
"bcd_list": "default"
}
},
{
"name": "nd.vlan_egress.list",
"idx": "egress_list",
"inner_join_ref": {
"vlan_list": "default"
}
},
{
"name": "nd.vlan_egress.list",
"idx": "tagged_egress_list",
"inner_join_ref": {
"egress_list": "self"
},
"old": {
"is_tagged": true
}
},
{
"name": "nd.vlan_egress.list",
"idx": "untagged_egress_list",
"inner_join_ref": {
"egress_list": "self"
},
"old": {
"is_tagged": false
}
},
{
"name": "nd.l_port.list",
"idx": "tagged_l_port_list",
"inner_join_ref": {
"tagged_egress_list": "default"
}
},
{
"name": "nd.l_port.list",
"idx": "untagged_l_port_list",
"inner_join_ref": {
"untagged_egress_list": "default"
}
},
{
"name": "nd.l2p_port.list",
"idx": "tagged_l2p_port_list",
"inner_join_ref": {
"tagged_l_port_list": "default"
}
},
{
"name": "nd.l2p_port.list",
"idx": "untagged_l2p_port_list",
"inner_join_ref": {
"untagged_l_port_list": "default"
}
},
{
"name": "nd.p_port.list",
"idx": "tagged_p_port_list",
"inner_join_ref": {
"tagged_l2p_port_list": "default"
}
},
{
"name": "nd.p_port.list",
"idx": "untagged_p_port_list",
"inner_join_ref": {
"untagged_l2p_port_list": "default"
}
},
{
"name": "nd.l_port.list",
"idx": "l_port_list",
"inner_join_ref": {
"vlan_list": "default"
}
},
{
"name": "nd.l2p_port.list",
"idx": "l2p_port_list",
"inner_join_ref": {
"l_port_list": "default"
}
},
{
"name": "nd.p_port.list",
"idx": "p_port_list",
"inner_join_ref": {
"l2p_port_list": "default"
}
},
{
"name": "nd.p_port.list",
"idx": "remote_p_port_list",
"inner_join_ref": {
"p_port_list": "api_fkey_nd_p_port_conn_dest"
},
"old": {
"is_edge_node": true
}
},
{
"name": "ndcfg.p_port2module_type.list",
"idx": "p_port2module_type_list",
"inner_join_ref": {
"remote_p_port_list": "default"
}
},
{
"name": "ndcfg.module_type.list",
"idx": "module_type_list",
"inner_join_ref": {
"p_port2module_type_list": "default"
},
"old": {
"class": "DD"
}
},
{
"name": "ndcfg.p_port2module_type.list",
"idx": "filtered_module_types",
"inner_join_ref": {
"module_type_list": "default",
"remote_p_port_list": "default"
}
},
{
"name": "nd.p_port.list",
"idx": "filtered_remote_p_port_list",
"inner_join_ref": {
"filtered_module_types": "default",
"remote_p_port_list": "self"
}
},
{
"name": "nd.module.list",
"idx": "dd_module_list",
"inner_join_ref": {
"filtered_remote_p_port_list": "default"
}
},
{
"name": "nd.module.list",
"idx": "module_list",
"inner_join_ref": {
"remote_p_port_list": "default"
}
}
]