Skip to content

feat: add cpu_shares to mastercontainer and sibling containers for better responsiveness under heavy load - #8084

Open
szaimen with Copilot wants to merge 6 commits into
mainfrom
copilot/improve-mastercontainer-responsiveness
Open

feat: add cpu_shares to mastercontainer and sibling containers for better responsiveness under heavy load#8084
szaimen with Copilot wants to merge 6 commits into
mainfrom
copilot/improve-mastercontainer-responsiveness

Conversation

Copilot AI commented May 12, 2026

Copy link
Copy Markdown
Contributor
  • Mastercontainer cpu_shares: 2048 (compose.yaml, readme.md, reverse-proxy.md, multiple-instances.md)
  • 9 core containers in containers.json: cpu_shares: 1024 (apache, database, nextcloud, notify-push, redis, borgbackup, watchtower, harp, docker-socket-proxy)
  • 9 optional/extra containers in containers.json: cpu_shares: 512 (collabora, talk, talk-recording, domaincheck, clamav, onlyoffice, imaginary, fulltextsearch, whiteboard)
  • Default cpuShares in ContainerDefinitionFetcher.php: 512
  • cpu_shares property added to containers-schema.json
  • cpuShares field added to Container.php
  • CpuShares applied in DockerActionManager.php

Copilot AI and others added 2 commits May 12, 2026 11:12
@szaimen szaimen changed the title feat: add cpu_shares to mastercontainer for better responsiveness under heavy load feat: add cpu_shares to mastercontainer and sibling containers for better responsiveness under heavy load May 12, 2026
@szaimen szaimen added 3. to review Waiting for reviews and removed 2. developing Work in progress labels May 12, 2026
@szaimen
szaimen marked this pull request as ready for review May 12, 2026 11:50

@Zoey2936 Zoey2936 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as with my comments to OOM-Killer

@szaimen

szaimen commented May 12, 2026

Copy link
Copy Markdown
Collaborator

@copilot please change the default in ContainersDefinitionFetchter from 1024 to 512 and reduce all added values by factor 2

Copilot AI commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

@copilot please change the default in ContainersDefinitionFetchter from 1024 to 512 and reduce all added values by factor 2

Done in c128f29. Default changed to 512, container values reduced to 1024, and mastercontainer to 2048.

@derStephan

derStephan commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Wouldn't it make sense to raise Talk's priority? Talk - or better the TURN server in it - is the only application that has real-time requirements. So under heavy load, this should be prioritized over everything else because everything else can simply wait. In the settings given in the first comment, talk shares the lowest priority of 512 with all other containers.

And another thought. Setting the same high value for such a number of containers might gain nothing, because in case of load, all of those containers keep fighting for CPU time.

I'd suggest to define distinct values for each container, in the order of real-time requirements and responsiveness impact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants