Browse code

use nproc/2 workers for large ops job

Commit 1ce19ab76d67a89b04f907f1d292d013a3b699e0 dropped API_WORKERS from
nproc/2 to nproc/4 and also started using API_WORKERS for the number of
conductor workers, so in gate runs that dropped conductor workers from 8
to 2. We're now seeing instance build timeouts in the large ops job.

This change goes back to nproc/2 for the large ops job (VIRT_DRIVER=='fake').

Closes-Bug: #1500615

Change-Id: Ie6ef855fce0a99c930d479b7459c15b69e8de499

Matt Riedemann authored on 2015/09/29 06:46:27
Showing 1 changed files
... ...
@@ -650,7 +650,12 @@ SERVICE_PROTOCOL=${SERVICE_PROTOCOL:-http}
650 650
 # the memory used where there are a large number of CPUs present
651 651
 # (the default number of workers for many services is the number of CPUs)
652 652
 # Also sets the minimum number of workers to 2.
653
-API_WORKERS=${API_WORKERS:=$(( ($(nproc)/4)<2 ? 2 : ($(nproc)/4) ))}
653
+if [[ "$VIRT_DRIVER" = 'fake' ]]; then
654
+    # we need more workers for the large ops job
655
+    API_WORKERS=${API_WORKERS:=$(( ($(nproc)/2)<2 ? 2 : ($(nproc)/2) ))}
656
+else
657
+    API_WORKERS=${API_WORKERS:=$(( ($(nproc)/4)<2 ? 2 : ($(nproc)/4) ))}
658
+fi
654 659
 
655 660
 # Service startup timeout
656 661
 SERVICE_TIMEOUT=${SERVICE_TIMEOUT:-60}