Performance required, server scaling

Hi here,

As I am moving forward with my test and my POC at work with syncthing I would like recommendations on hardware/virtualization for the setup.

Separate servers for :

  • discovery server
  • Syncthing server

What could be the ideal for both of them in terms of RAM/CPU/Disk, also, should I plan to scale either of them when I’m going to add syncthing clients, let’s say 10 50 100

Thank you all in advance for your time

David

Definitely read the https://docs.syncthing.net/users/tuning.html page.

A lot depends on how many files are being synced and the typical file size. Lots (e.g. hundreds of thousands) of small files or a much smaller collection of large files (e.g. video) require different choices in hardware.

Hi @gadget,

Thank you very much for your response.

I have reviewed that documentation already, typically this documentation is for the syncthing server and clients and I did not see any mention for the discovery server.

I would have most likely a lot of small files, the application we are going to support with this is a POS system (point of sale), no large files will be used in this setup.

Knowing this, do you have any recommendations you would, any experience with similar setup?

Regards, David

Discovery server is just used to assist with establishing the connections between machines. Once the machines connect the discovery server doesn’t play a role. So the requirements for discovery server should be quite basic.

1 Like

Hi @mraneri,

That’s what I thought as well from what I understood from his role but I wanted to put the question out there to see I was not mistaken since I’m new with the product and we are evaluating it to support clients in production.

Thank you for your contribution.

Regards, David

Last time I handled data acquisition for a POS system it involved database transactions, so specific recommendations for using Syncthing in that use case is limited.

However, my current work setup involves syncing thousands of small files – hundreds of data sources independently pushing changes via various network protocols to servers at multiple data centers which in turn are linked via Syncthing.

Any projections as to how many small files and the frequency of changes? Depending on the answer, tuning the filesystem notification and rescan interval might be near the top of the list.

1 Like

Hi @gadget ,

The forecast is around couple of hundreds files per day accross our client, the files will be around a couple of KB to maybe 1 or 2 MB maximum, in size.

Given the expected rate of change, Syncthing’s defaults for file watching and rescan interval will likely be just fine.

In my particular setup, of the 2,000 or so files (between a few hundred kilobytes and a couple of megabytes per file) in one of the Syncthing folders, around 99% of them are completely rewritten every 2-5 minutes, 24/7/365. Syncthing’s defaults were fine, although I did tweak some of the advanced configuration options for more efficiency on the Linux hosts.

Hi @gadget

I see, well, in comparison the files I will sync will not have an intense workload like yours, that gives me a bit of perspective here.

I will still keep an eye on those functions if ever i needed to tweak a bit

thanks a lot for your help and your insights