diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py
index c80581799f73fb13232fa3a36667357ae81f6691..c5f0af77ffd12b9a0f1b7479d391c2b6c1e9eb14 100644
--- a/brian_dashboard_manager/grafana/provision.py
+++ b/brian_dashboard_manager/grafana/provision.py
@@ -30,7 +30,7 @@ logger = logging.getLogger(__name__)
 
 
 def generate_all_nrens(token_request, nrens, folder_id, datasource_name):
-    with ThreadPoolExecutor(max_workers=4) as executor:
+    with ThreadPoolExecutor(max_workers=3) as executor:
         for dashboard in generate_nrens(nrens, datasource_name):
             executor.submit(create_dashboard, token_request,
                             dashboard, folder_id)
@@ -54,7 +54,7 @@ def provision_folder(token_request, folder_name,
     data = get_interface_data(relevant_interfaces, parse_func)
     dash_data = get_dashboard_data(data, datasource_name, tag, errors)
 
-    with ThreadPoolExecutor(max_workers=4) as executor:
+    with ThreadPoolExecutor(max_workers=3) as executor:
         for dashboard in dash_data:
             rendered = render_dashboard(dashboard)
             executor.submit(create_dashboard, token_request,
@@ -80,8 +80,8 @@ def provision(config):
 
     start = time.time()
 
-    with ProcessPoolExecutor(max_workers=4) as org_executor, \
-            ThreadPoolExecutor(max_workers=4) as thread_executor:
+    with ProcessPoolExecutor(max_workers=3) as org_executor, \
+            ThreadPoolExecutor(max_workers=3) as thread_executor:
         for org in all_orgs:
             org_id = org['id']
             delete_expired_api_tokens(request, org_id)