How many concurrent requests can dockerd handle?

We have 1 swarm cluster with 3 managers and 10 workers for performance test. When 100 concurrent requests(create service) sent to one swarm manager, dockerd may accept all the requests to dispatch to workers. But if we increase the num of concurrent requests, the dockerd error log says:

Error creating service serviceXXX: rpc error: code = 4 desc = context 
deadline exceeded"

Is there a default value of max concurrent requests that dockerd can handle in code? How could we increase the concurrent requests that dockerd can process successfully?

  • Can interlock or registrator be still helpful after docker engine 1.12.3 in swarm mode?
  • Running a Docker image command in a mounted folder
  • Deleting images from Jenkins slave post-build when using Cloudbees Docker Build and Publish plugin
  • Persistent postgres on docker
  • Is there a good reason for setting up virtualenv for python in Docker containers?
  • Docker build gearman not working
  • The daemon is version 17.03.

  • linux driver development: How does docker make sure app version matches kernel version?
  • Docker Repository Does Not Have a Release File on Running apt-get update on Ubuntu
  • Where is jenkins.xml in jenkins docker container
  • Specify location of volumes in docker
  • Docker on Azure .Net Core WebApi with continuous deployment - did it work?
  • docker-machine create with digitalocean driver and Ubuntu 16.04 x64 fails
  • One Solution collect form web for “How many concurrent requests can dockerd handle?”

    As commented in issue 29987, this error message is not very explicit:

    I think whenever we encounter a context deadline exceeded error, we should rewrite it to a coherent explanation of what timed out, and perhaps list possible reasons that could cause the timeout (loss of quorum, etc).

    When working on docker/docker-e2e, I had problems where things were timing out causing context deadline exceed errors, but the root cause of the timeout was some other error that was getting ignored, superseded, or otherwise buried.

    As detailed in issue 33631:

    This error can have various causes (See this search for existing issues mentioning this error).

    The error itself is quite generic, and could mean that the manager was not able to communicate with other managers in the cluster.
    From just the error, it’s not easy to discover why it fails to communicate (it can be either a bad network connection, other managers did not properly re-join the cluster, therefore you lost quorum, or it could be if (e.g.) managers did not have a static IP-address, and the IP-address changed – which is currently not supported).

    You can see a similar case here but this happens also with less queries.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.