nspcc-dev / nspcc-dev/neofs-node
Improve configuration defaults and documentation
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 38
- Forks
- 51
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 38
Description
Currently, we have a lot of parameters which affect the runtime performance. These include pool sizes, batch sizes, timeouts etc.
All parameters are set independently and have constant defaults. I think we can improve this in a number of ways:
- Document how one parameter can affect others. For example,
object.put.pool_size_remoteis also used in policer and tuned in runtime. - Allow to set default for one parameter based on another parameter.
2.1. Example: default replicator settings in the tree service can be set based on batch size.
2.2. Example:apiclient.stream_timeoutcan be set based ondial_timeout, as the former in some sense reflects network latency expectations.
2.3. Example: shard pool size and put service local poll size are connected to each other. - Defaults should be set as expected for public networks, private installations should override, not the other way.
neofs-adm storage-configcan incorporate some of this complexity.- For private installations with the known configuration (the amount of consensus and storage nodes), we should give some general recommendations.
It is already proven to be complex during our performance testing, the goal is to make it more understandable for an average user.
I am making this an epic issue, let's discuss what we want and create tasks afterwise.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inventorying the runtime parameters described in the issue, including pool sizes, batch sizes, timeouts, and the tree service replicator settings. Review how neofs-adm storage-config could expose this complexity and map the relationships between parameters. Done requires agreed follow-up tasks, documented interactions, derived defaults, and recommendations for public and private networks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli, distributed-systems, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100