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?

  • How to put ownCloud behind Nginx with Docker?
  • Jmeter and Docker
  • Linking containers together on production deploys
  • ERROR: for couchbase-db driver failed programming external connectivity
  • Expose a docker port on Mac Osx to other computer
  • Show python logs in docker-compose log
  • The daemon is version 17.03.

  • Nginx not redirect to https docker ports
  • Why is SSH from inside docker container to other instance/server so slow
  • MySQL in Docker on Windows: World-writable files ignored
  • Docker daemon image list duplicate IDs but different tags, where one of the image tags is “<none>”
  • Docker - one process per container?
  • Reverse proxy to WordPress container
  • 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.