Adding a termination to a circuit is very slow when you have a large list of sites #3524

Closed
opened 2025-12-29 18:29:38 +01:00 by adam · 1 comment
Owner

Originally created by @ctrowat on GitHub (Mar 31, 2020).

#4037 # Environment

  • Python version: 3.7
  • NetBox version: 2.7.10

We have about 14,000 sites in our netbox deployment. When creating terminations for the A and Z sides of a circuit the page to configure these (/circuits/circuit-terminations/<id>/edit/ or /circuits/circuits/<id>/terminations/add/?term_side=A) takes 4-5 seconds to load and causes the browser to hang severely on lower powered computers. This appears to be because netbox is populating a selection control with the complete list of sites.

Compare this to the devices page (or many others) where the sites list uses lazy loading and performs extremely well.

It would greatly improve our user experience if this lazy loading was also implemented on the circuit termination configuration page.

Steps to Reproduce

  1. Add a large number of sites to netbox (i.e. 14,000)
  2. Create a circuit
  3. Attempt to configure the A or Z side of the circuit

Expected Behavior

The page should load quickly, and selecting a site on this page should be as performant as selecting a site on the device configuration page.

Observed Behavior

The page itself takes (for us) 4-5 seconds to load, and trying to select a site can cause the browser to hang for upwards of 30 seconds on lower powered computers.

Originally created by @ctrowat on GitHub (Mar 31, 2020). #4037 # Environment * Python version: 3.7 * NetBox version: 2.7.10 We have about 14,000 sites in our netbox deployment. When creating terminations for the A and Z sides of a circuit the page to configure these (`/circuits/circuit-terminations/<id>/edit/` or `/circuits/circuits/<id>/terminations/add/?term_side=A`) takes 4-5 seconds to load and causes the browser to hang severely on lower powered computers. This appears to be because netbox is populating a selection control with the complete list of sites. Compare this to the devices page (or many others) where the sites list uses lazy loading and performs extremely well. It would greatly improve our user experience if this lazy loading was also implemented on the circuit termination configuration page. ### Steps to Reproduce 1. Add a large number of sites to netbox (i.e. 14,000) 2. Create a circuit 3. Attempt to configure the A or Z side of the circuit ### Expected Behavior The page should load quickly, and selecting a site on this page should be as performant as selecting a site on the device configuration page. ### Observed Behavior The page itself takes (for us) 4-5 seconds to load, and trying to select a site can cause the browser to hang for upwards of 30 seconds on lower powered computers.
adam closed this issue 2025-12-29 18:29:38 +01:00
Author
Owner

@jeremystretch commented on GitHub (Mar 31, 2020):

This was fixed in v2.7.11 under #4374. Probably should have been added to the release notes.

@jeremystretch commented on GitHub (Mar 31, 2020): This was fixed in v2.7.11 under #4374. Probably should have been added to the release notes.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#3524