Adding a performance improvement guide #1998

Closed
opened 2025-12-29 17:21:18 +01:00 by adam · 6 comments
Owner

Originally created by @remyleone on GitHub (Sep 10, 2018).

Change Type

[ X] Addition
[ ] Correction
[ ] Deprecation
[ ] Cleanup (formatting, typos, etc.)

I would like to have a guide in the documentation about how to improve netbox performance once the amount of objects is scaling up.

How can performance can be audited? Where should I start digging when my API calls are slows? etc...

Originally created by @remyleone on GitHub (Sep 10, 2018). ### Change Type [ X] Addition [ ] Correction [ ] Deprecation [ ] Cleanup (formatting, typos, etc.) I would like to have a guide in the documentation about how to improve netbox performance once the amount of objects is scaling up. How can performance can be audited? Where should I start digging when my API calls are slows? etc...
adam closed this issue 2025-12-29 17:21:18 +01:00
Author
Owner

@jeremystretch commented on GitHub (Sep 13, 2018):

Are you volunteering to write this guide? Can you provide a rough outline?

@jeremystretch commented on GitHub (Sep 13, 2018): Are you volunteering to write this guide? Can you provide a rough outline?
Author
Owner

@remyleone commented on GitHub (Sep 13, 2018):

I would like to read it. I don't know the answer to those questions. A rough outline could be:

If you have between 100 and 1000 device check that your debug option is not on and other beginner level tips.
if you have between 100000 and 100000 and notice that certain requests are slow, you can add this to your settings, deploy this and that to help your query time, etc...

I don't have the answer to those questions but I can structure ideas and raw information into a document.

@remyleone commented on GitHub (Sep 13, 2018): I would like to read it. I don't know the answer to those questions. A rough outline could be: If you have between 100 and 1000 device check that your debug option is not on and other beginner level tips. if you have between 100000 and 100000 and notice that certain requests are slow, you can add this to your settings, deploy this and that to help your query time, etc... I don't have the answer to those questions but I can structure ideas and raw information into a document.
Author
Owner

@tyler-8 commented on GitHub (Oct 30, 2018):

It should be noted that since Netbox is built on the Django framework, a user can search out "Django performance improvements" to get relevant tips for Netbox.

@tyler-8 commented on GitHub (Oct 30, 2018): It should be noted that since Netbox is built on the Django framework, a user can search out "Django performance improvements" to get relevant tips for Netbox.
Author
Owner

@remyleone commented on GitHub (Oct 30, 2018):

Yes but where do you start? Also, keep in mind that users are not necessarily developers that know how to develop with Django.

@remyleone commented on GitHub (Oct 30, 2018): Yes but where do you start? Also, keep in mind that users are not necessarily developers that know how to develop with Django.
Author
Owner

@tyler-8 commented on GitHub (Oct 30, 2018):

I'd start with the official Django documentation.

Performance tuning is a complex beast and is going to require (likely a lot of) self-started research to tackle. Perhaps as the Netbox userbase (and scale) increases and there's an idea of what the most common performance issues people are running in to are, then some Netbox-specific tuning ideas could be put forth.

Maybe it's already there - but considering the bulk of the application is Django-code, I'd say start with Django tuning.

@tyler-8 commented on GitHub (Oct 30, 2018): I'd start with the [official Django documentation](https://docs.djangoproject.com/en/2.1/topics/performance/). Performance tuning is a complex beast and is going to require (likely a lot of) self-started research to tackle. Perhaps as the Netbox userbase (and scale) increases and there's an idea of what the most common performance issues people are running in to are, then some Netbox-specific tuning ideas could be put forth. Maybe it's already there - but considering the bulk of the application is Django-code, I'd say start with Django tuning.
Author
Owner

@jeremystretch commented on GitHub (Nov 30, 2018):

I don't think it's feasible to produce a static document on performance troubleshooting. The developers take reasonable efforts to optimize performance as it is, and while I'm sure there's room for improvement, if we knew what additional steps we could take, we would have taken them already. As @tyler-8 suggests, the Django documentation offers some excellent advice on general performance; for anything more specific it's probably best to share your specific issue on the mailing list for guidance.

@jeremystretch commented on GitHub (Nov 30, 2018): I don't think it's feasible to produce a static document on performance troubleshooting. The developers take reasonable efforts to optimize performance as it is, and while I'm sure there's room for improvement, if we knew what additional steps we could take, we would have taken them already. As @tyler-8 suggests, the Django documentation offers some excellent advice on general performance; for anything more specific it's probably best to share your specific issue on the mailing list for guidance.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#1998