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

v2.0.0-Release <- Read this for performance problems #4500

Open
5 of 16 tasks
CommanderStorm opened this issue Feb 17, 2024 · 24 comments
Open
5 of 16 tasks

v2.0.0-Release <- Read this for performance problems #4500

CommanderStorm opened this issue Feb 17, 2024 · 24 comments
Labels
area:core issues describing changes to the core of uptime kuma discussion releaseblocker blocking bugs encountered with a new release
Milestone

Comments

@CommanderStorm
Copy link
Collaborator

CommanderStorm commented Feb 17, 2024

This was originally a PR here, but has been transformed into an issue due to being pin-able

what has been done?

We are hard at work improving Uptime Kuma.
If you want to have a look at the full set of features for v2.0, have a look here.

Most notably this includes (a full migration guide will be made before the release, dont worry):

Tip

If you are affected by the performance problems of v1, you need to reduce the amount of data you store.
The core problem is that Uptime Kuma in v1 has to do a table scan of the entire heartbeat table for some operations.

The solution boils down to having a lower amount of data => making Uptime Kuma less worried about reading those gigabytes of data.:

  • reduce the retention and execute a manual cleanup via the VACUUM button under /settings/monitor-history
  • Increase the time between checks
  • pause or reduce the amount of monitors
  • delete the specific history of less essential monitors (to "lower" their retention below the configured maximum)

what is needed to get 2.0.0-beta.0 released

Note

We hope 2.0.0-beta.0 can be released in spring 2024, which doesn't include the e2e tests yet. During the beta test, we will try to work on implementing the e2e tests.

Tip

How can I get involved?

While most of the bugs noted below require reading some code
=> gaining some context about how the aggregated tables work, some work do not and are such better starting points:

  • writing a synthetic benchmark which spawns some monitors and looks how the server handles it
  • helping in writing e2e tests using playwright
@compgeniuses

This comment was marked as resolved.

@CommanderStorm
Copy link
Collaborator Author

@compgeniuses
Our installation guide only works for stable versions (it checks out a git tag to avoid users being on the wrong branch in npm run setup).
Pre-releases will be made once we don't have glaring bugs left, see my post above for which ones there are.

If you want to test-drive or contribute one of the areas named above, our contribution guide should have all the answers. If you are missing something for development, feel free to ping me.
We also have this way of testing PRs: https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests

@Aj7Ay

This comment was marked as off-topic.

@CommanderStorm

This comment was marked as off-topic.

@fabry006

This comment was marked as duplicate.

@apio-sys
Copy link
Contributor

See top of this post, the tasklist progress is at 5/17 so still a lot of work todo. This is FOSS so to help speed up improvements, you can contribute in different areas as per your level of expertise. It has been explained several times that no ETA can be given depending on the contributions of the community mainly.

@CommanderStorm
Copy link
Collaborator Author

CommanderStorm commented Aug 26, 2024

See top of this post

Not even that, have commented somethng similar why we won't give out ETAs multiple times in this thread..
Example: #4500 (comment)

tasklist progress is at 5/17 so still a lot of work todo

That is somewhat misleading.
There are two items left which NEED to happen:

  • Going through the PRs, writing a changelog and migration guide
  • Writing a db-migration for the existing heatbeat data into the new, aggregated schema.

literally any help is appreciated.
Even if just looking at benchmarking/infra/testing, there are lots of bugs to catch (as with most FOSS software).

@FrancYescO
Copy link
Contributor

  • reduce the retention and execute a manual cleanup under /settings/monitor-history

just to be clear, as i assume this is the best mitigation: after setting a lower number of retention days, for manual cleanup you intend a "clear full statistic" or "shrink database"? so the retention days are not applied to the previous stored datas?

@CommanderStorm
Copy link
Collaborator Author

Cleanup = the VACUUM button

@CommanderStorm CommanderStorm mentioned this issue Aug 30, 2024
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:core issues describing changes to the core of uptime kuma discussion releaseblocker blocking bugs encountered with a new release
Projects
None yet
Development

No branches or pull requests