Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

monitor.berlin.freifunk.net Performance optimization #102

Open
nicolasberens opened this issue Dec 10, 2023 · 1 comment
Open

monitor.berlin.freifunk.net Performance optimization #102

nicolasberens opened this issue Dec 10, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@nicolasberens
Copy link
Contributor

nicolasberens commented Dec 10, 2023

The current state, especially with collectd is a bit suboptimal.

This is a draft to plan what can be done

There are a few things i am not happy with:

  • routers send data every 30 seconds
  • collectd works internally with a 10 second interval.
  • therefore all RRD files are created with a 10 second step size
  • RRDfiles only support one interval, so we need to recreate them or write a script that does it
  • prometheus scrapes it every 15 seconds

To test:

  • can we reduce the step size of files ?
  • does it save data/writes?
  • do we maybe want to drop some datapoints?
  • does a higher interval for RRD files make sense? (from 30 to 60 seconds?)

Planned Goal:

  • adjust settings where possible without big migrations
    • => prometheus
  • rewrite the collectd config to support chains: https://github.com/collectd/collectd/wiki/Chains
    • test if its possible to change the intervall per metric
    • migrate metrics 1:1 (e.g. cange interval of cpu load, rewrite rrd files, ten change the next metric)
@nicolasberens nicolasberens added the enhancement New feature or request label Dec 10, 2023
@nicolasberens nicolasberens self-assigned this Dec 10, 2023
@nicolasberens
Copy link
Contributor Author

using: https://github.com/AndrewPiroli/rrd-step-changer

and
for FILE in $(find . -name "*.rrd" -type f); do rrdtool dump $FILE > $FILE.tmp ; python3 rrdstep.py $FILE.tmp $FILE.small.tmp 30 60 ; rrdtool restore -f $FILE.small.tmp $FILE; done

i cloned data from monitor (10sec interval) and hds-ffraum (10sec step but data comes in every 30 seconds)

https://monitor.berlin.freifunk.net/cgp/host.php?h=monitor.berlin.freifunk.net
https://monitor.berlin.freifunk.net/cgp/host.php?h=monitor.berlin.freifunk.net-nicolastest
https://monitor.berlin.freifunk.net/cgp/host.php?h=hds-ffraum
https://monitor.berlin.freifunk.net/cgp/host.php?h=hds-ffraum-nicolastest

Looking at the data it seems like its not working propperly, and ending up stretching the data again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant