When deploying or hosting the Community Solid Server (CSS) you want to be able to use all available hardware resources. Right now the CSS is running in a single threaded matter. With current CPUs consisting of multiple cores, the CSS could use those extra cores to be able to handle more load, or handle requests while executing a longer running task on another core.
Desired solution
There are multiple approaches to make the CSS multithreaded, the discission about this can be tracked in this issue.
Another important part is allowing the locking mechanism to support multithreading. Right now when some process writes to a file, that file is locked and cannot be read/written by another process (in some cases the processes can at least read). This issue should be solved for all configurations, so that locking strategies can be considered (multi)thread-safe.
Acceptance criteria
Add simple documentation on how to run the CSS multithreaded.
Make sure locking strategies are thread-safe.
Allow read-write lock strategies for each configuration (redis and file-based locking)
Pitch
When deploying or hosting the Community Solid Server (CSS) you want to be able to use all available hardware resources. Right now the CSS is running in a single threaded matter. With current CPUs consisting of multiple cores, the CSS could use those extra cores to be able to handle more load, or handle requests while executing a longer running task on another core.
Desired solution
There are multiple approaches to make the CSS multithreaded, the discission about this can be tracked in this issue.
Another important part is allowing the locking mechanism to support multithreading. Right now when some process writes to a file, that file is locked and cannot be read/written by another process (in some cases the processes can at least read). This issue should be solved for all configurations, so that locking strategies can be considered (multi)thread-safe.
Acceptance criteria
Pointers
Current relevant issues: