nerves-hub / nerves_hub_web

Manage firmware updates for Nerves devices
https://nerves-hub.org/
Apache License 2.0
200 stars 69 forks source link

World Map clustering #1619

Closed lawik closed 3 days ago

lawik commented 3 weeks ago

See video here: https://github.com/nerves-hub/nerves_hub_web/pull/1611

I tested this with 180.000 active and connected devices (faked). It loaded consistently but took a decent number of seconds. It was much faster down towards 50.000 and snappy below those types of numbers.

Once loaded it becomes easy to navigate and performant. I think this works. We could look at faster options. But the clustering makes 180K possible where it isn't without it.

We could try various things to constrain how many we load. I've looked at recommendations for performance and applied what I found. chunkedLoading option keeps it responsive while loading, renderer using Canvas makes it more performant.

I cut down heavily on non-used values because the first JSON transfer was 18 Mb and I think I got it down to about 1Mb for 180K. Maybe we could win more there with compression. That wasn't the slow part for me.

lawik commented 2 weeks ago

@joshk this will be squashed and so on, but I think you should try the functionality, see how you like it :)

lawik commented 1 week ago

Should be good to go. Ideally take a look and see how you enjoy it @joshk :)

lawik commented 4 days ago

@nshoes looked at your notes, fixed all of it I believe :)

lawik commented 4 days ago

Need to fix CI though

nshoes commented 4 days ago

@lawik done! :)