diff options
author | Philipp Wollermann <philwo@google.com> | 2015-09-21 13:39:52 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2015-09-21 14:25:57 +0000 |
commit | b181aff084af586c9c07c058ed7524606077bdf6 (patch) | |
tree | 016992d3f6fa2320c8bc34aba96f0feb56cee80c /src/main/java/com/google/devtools/build/lib | |
parent | 13f9150e7706ad226831b52981cb0b7c76678b7b (diff) |
workers: Some tweaks to the WorkerPool config.
--
MOS_MIGRATED_REVID=103541116
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java index cb148720b5..319b97450f 100644 --- a/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java +++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java @@ -66,7 +66,24 @@ public class WorkerModule extends BlazeModule { } GenericKeyedObjectPoolConfig config = new GenericKeyedObjectPoolConfig(); - config.setTimeBetweenEvictionRunsMillis(10 * 1000); + + // It's better to re-use a worker as often as possible and keep it hot, in order to profit + // from JIT optimizations as much as possible. + config.setLifo(true); + + // Check for & deal with idle workers every 5 seconds. + config.setTimeBetweenEvictionRunsMillis(5 * 1000); + + // Always test the liveliness of worker processes. + config.setTestOnBorrow(true); + config.setTestOnCreate(true); + config.setTestOnReturn(true); + config.setTestWhileIdle(true); + + // Don't limit the total number of worker processes, as otherwise the pool might be full of + // e.g. Java workers and could never accommodate another request for a different kind of + // worker. + config.setMaxTotal(-1); workers = new WorkerPool(new WorkerFactory(), config); workers.setReporter(env.getReporter()); |