From 1ce19ab76d67a89b04f907f1d292d013a3b699e0 Mon Sep 17 00:00:00 2001 From: Sean Dague Date: Wed, 23 Sep 2015 10:36:53 -0400 Subject: [PATCH] attempt to cut api workers in half One of the key reasons for the large number of API_WORKERS was that mysql would block API workers, so would start rejecting work. Now with the python mysql driver we should be eventlet aware, and life should be good. Let's see if this works. Change-Id: Iaf8730a4dcdc30ef390795bfb5fb73ec3cd665fe --- lib/nova | 2 ++ stackrc | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/nova b/lib/nova index ab5a76e2ad..db7967841c 100644 --- a/lib/nova +++ b/lib/nova @@ -607,6 +607,8 @@ function create_nova_conf { iniset $NOVA_CONF DEFAULT osapi_compute_workers "$API_WORKERS" iniset $NOVA_CONF DEFAULT ec2_workers "$API_WORKERS" iniset $NOVA_CONF DEFAULT metadata_workers "$API_WORKERS" + # don't let the conductor get out of control now that we're using a pure python db driver + iniset $NOVA_CONF conductor workers "$API_WORKERS" iniset $NOVA_CONF cinder os_region_name "$REGION_NAME" diff --git a/stackrc b/stackrc index 2641be64b7..9e05d8253a 100644 --- a/stackrc +++ b/stackrc @@ -631,7 +631,7 @@ SERVICE_PROTOCOL=${SERVICE_PROTOCOL:-http} # the memory used where there are a large number of CPUs present # (the default number of workers for many services is the number of CPUs) # Also sets the minimum number of workers to 2. -API_WORKERS=${API_WORKERS:=$(( ($(nproc)/2)<2 ? 2 : ($(nproc)/2) ))} +API_WORKERS=${API_WORKERS:=$(( ($(nproc)/4)<2 ? 2 : ($(nproc)/4) ))} # Service startup timeout SERVICE_TIMEOUT=${SERVICE_TIMEOUT:-60}