diff --git a/buildgrid/_app/commands/cmd_server.py b/buildgrid/_app/commands/cmd_server.py
index 169aed60e036fdb95ae62970790c26f56d9fccee..c76ede5ae041d52c90c923734ff0c930778647f4 100644
--- a/buildgrid/_app/commands/cmd_server.py
+++ b/buildgrid/_app/commands/cmd_server.py
@@ -119,6 +119,14 @@ def _create_server_from_config(configuration):
             click.echo("Error: Configuration, {}.".format(e), err=True)
             sys.exit(-1)
 
+    if 'thread-pool-size' in configuration:
+        try:
+            kargs['max_workers'] = int(configuration['thread-pool-size'])
+
+        except ValueError as e:
+            click.echo("Error: Configuration, {}.".format(e), err=True)
+            sys.exit(-1)
+
     server = BuildGridServer(**kargs)
 
     try:
diff --git a/buildgrid/_app/settings/reference.yml b/buildgrid/_app/settings/reference.yml
index f8776ab144a36bd1bda38023215b112fe3acef55..f19f03bd93b7d23011f72507ec2dd31f4b56bc3e 100644
--- a/buildgrid/_app/settings/reference.yml
+++ b/buildgrid/_app/settings/reference.yml
@@ -136,3 +136,7 @@ monitoring:
   #  binary  - Protobuf binary format.
   #  json    - JSON format.
   serialization-format: binary
+
+##
+# Maximum number of gRPC threads.
+thread-pool-size: 20
diff --git a/buildgrid/server/instance.py b/buildgrid/server/instance.py
index e71fe8905f73bbc16ca6cd2ca9ede91ccb5577e6..68100e8a5c43cc38df486293fc4e046aee403a1b 100644
--- a/buildgrid/server/instance.py
+++ b/buildgrid/server/instance.py
@@ -91,6 +91,8 @@ class BuildGridServer:
         self.__grpc_server = grpc.server(self.__grpc_executor,
                                          options=(('grpc.so_reuseport', 0),))
 
+        self.__logger.debug("Setting up gRPC server with thread-limit=[%s]", max_workers)
+
         self.__main_loop = asyncio.get_event_loop()
 
         self.__monitoring_bus = None
diff --git a/data/config/controller.conf b/data/config/controller.conf
index 276b2177be2dc47a47b6767942acdf1794166653..7a02296b6ec76a29314fdadfa26d57a7ca4515fb 100644
--- a/data/config/controller.conf
+++ b/data/config/controller.conf
@@ -38,3 +38,5 @@ instances:
       - !execution
         storage: *data-store
         action-cache: *build-cache
+
+thread-pool-size: 200