moby / moby/swarmkit

Schedulung performance - CPU usage

Open
#2,763 6 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
3.7k
Forks
676
Avg merge
4d 9h
Merged PRs (30d)
6

Description

I did a performance test in order to test the scheduling performance of Docker swarm. For this purpose I measured the time it takes to schedule and start 1000 containers on 100 worker nodes. A cluster of 3 Manager nodes is used.

The graphs show the cpu usage of the 3 manager nodes and one worker node during the scheduling process. The time 0 is the time where the scheduling action was started.

In the first graph no service was ever created or scheduled before (Fresh cluster).

bildschirmfoto 2018-10-15 um 16 47 25

In the second graph the experiment was repeated several times before.

bildschirmfoto 2018-10-15 um 16 50 24

While all 1000 containers were scheduled and started in under 2,5 seconds the cpu usage is higher during the scheduling and is still over 150% 60 seconds after the scheduling finished.

What is going on here? Why has the fresh cluster a lower cpu usage?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files, tests, or entry points are named. Start by reproducing the reported workload: 1,000 containers on 100 workers with three managers, comparing a fresh cluster with one reused across experiments. Done means identifying the cause of the sustained manager CPU usage and recording evidence that explains the difference.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go
Domain
distributed-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.