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

Add a Tuning section to the documentation #624

Open
bt90 opened this issue Mar 3, 2021 · 5 comments
Open

Add a Tuning section to the documentation #624

bt90 opened this issue Mar 3, 2021 · 5 comments

Comments

@bt90
Copy link
Contributor

bt90 commented Mar 3, 2021

There are some things to consider which might positively affect syncthings performance. We should probably collect and curate this information in the documentation.

e.g safe options like putting the database on SSD storage or even unsafe ones with a proper warning like turning off fsync for initial sync.

IMHO it's better to have it in the documentation with proper warnings in place. People will always look for ways to speed things up and maybe we can steer those users away from questionable blog posts created years ago and instead point to the documentation.

@bt90
Copy link
Contributor Author

bt90 commented Mar 3, 2021

@calmh i can draft a PR. The issue is rather ment for a discussion if you want to have this in the docs.

@imsodin imsodin transferred this issue from syncthing/syncthing Mar 8, 2021
@imsodin
Copy link
Member

imsodin commented Mar 8, 2021

I moved this over to the docs, as that's what it targets.

There's a lot of things that make sense to document (and might already be documented), like progress updates. However I think unsafe tweaks should not be documented in a nice overview-like section as proposed: No amount of warning will stop people from still trying. That's why I'd not document fsync or other "not-to-be-named options there :)

In general I believe in most cases knowing the knobs is a secondary problem: Most people never arrive at understanding what the limitation in their setup is. I'd consider a help article explaining how to diagnose typical problems more helpful.

@tomasz1986
Copy link
Contributor

I would say that this is a good idea, but we should clearly distinguish between tuning purely for performance, and also tuning for reducing the resource usage, e.g. when using Syncthing on low-end hardware, etc.

@calmh
Copy link
Member

calmh commented Mar 8, 2021

There are a few knobs we (or I) quite often recommend adjusting upwards or downwards for either very-small or very-large setups. I think we could have at least a couple of halfway general sections "to reduce resource usage at the cost of performance / features, lower and disable these things" and "to improve performance in large setups, increase these things and/or rate limit these other things".

@bt90
Copy link
Contributor Author

bt90 commented Mar 8, 2021

I think the following sections might make sense:

  • General
    • e.g keep database on SSD
  • Resource usage dependent (knobs to turn up/down depending on the hardware)
    • e.g number of connections
  • Large folders
    • things to consider if share size is in the TB scale

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

No branches or pull requests

4 participants