performance: sdn tracing 400+ EVCs (with INT) on PUT /traces
, the 95th percentile response time is around 6 seconds
#120
Labels
future_release
Planned for the next release
Current evident bottle necks (let me register here for future discussions):
sdntrace_cp
. The lookup algorithm time complexity is roughly:O(switches) * O(switch[table_size]) * O(switch[goto_tables])
The biggest one, which is linear, is usually
O(switch[table_size])
, if we didn't have to support matching with bitmasks we could leverage a flowmatch_id
indexed and perform inO(1)
per switch, but we'll still need to maintain with bit mask sincemef_eline
uses it with vlan range and other special tags. Unless, it also had an endpoint to not trace anything with bitmasks involved.stored_flows
took 1.7 secs, and looks like it was mostly latency in the API and not in the DB, that would still looking into is the response was too large and json wasn't too fast to serialize, in the future,sdntrace_cp
queryingflow_manager
directly in itsFlowController
should help too.The text was updated successfully, but these errors were encountered: