diff --git a/brian_dashboard_manager/grafana/provision.py b/brian_dashboard_manager/grafana/provision.py
index 2a69308e49df7abce49541b078506853b3e1afb0..c80581799f73fb13232fa3a36667357ae81f6691 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=12) as executor:
+    with ThreadPoolExecutor(max_workers=4) 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=12) as executor:
+    with ThreadPoolExecutor(max_workers=4) as executor:
         for dashboard in dash_data:
             rendered = render_dashboard(dashboard)
             executor.submit(create_dashboard, token_request,
@@ -81,7 +81,7 @@ def provision(config):
     start = time.time()
 
     with ProcessPoolExecutor(max_workers=4) as org_executor, \
-            ThreadPoolExecutor(max_workers=12) as thread_executor:
+            ThreadPoolExecutor(max_workers=4) as thread_executor:
         for org in all_orgs:
             org_id = org['id']
             delete_expired_api_tokens(request, org_id)