From 03ec3142c37dc1ed1caa80c74d13c8fe4d9abd04 Mon Sep 17 00:00:00 2001 From: Jeremy Long Date: Tue, 7 Mar 2017 06:37:21 -0500 Subject: [PATCH] updated threadpool size --- .../java/org/owasp/dependencycheck/Engine.java | 4 +--- .../data/update/NvdCveUpdater.java | 16 ++++++++++------ .../main/resources/dependencycheck.properties | 1 - .../test/resources/dependencycheck.properties | 1 - .../test/resources/dependencycheck.properties | 1 - 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/Engine.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/Engine.java index 163d9e0ff..f39e345ef 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/Engine.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/Engine.java @@ -613,9 +613,7 @@ public class Engine implements FileFilter { */ protected ExecutorService getExecutorService(Analyzer analyzer) { if (analyzer.supportsParallelProcessing()) { - // just a fair trade-off that should be reasonable for all analyzer types - final int maximumNumberOfThreads = 4 * Runtime.getRuntime().availableProcessors(); - + final int maximumNumberOfThreads = Runtime.getRuntime().availableProcessors(); LOGGER.debug("Parallel processing with up to {} threads: {}.", maximumNumberOfThreads, analyzer.getName()); return Executors.newFixedThreadPool(maximumNumberOfThreads); } else { diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/NvdCveUpdater.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/NvdCveUpdater.java index 4e2e21ebb..d86583af1 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/NvdCveUpdater.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/data/update/NvdCveUpdater.java @@ -63,11 +63,11 @@ public class NvdCveUpdater implements CachedWebDataSource { /** * The thread pool size to use for CPU-intense tasks. */ - private static final int PROCESSING_THREAD_POOL_SIZE = 1; + private static final int PROCESSING_THREAD_POOL_SIZE = Runtime.getRuntime().availableProcessors(); /** * The thread pool size to use when downloading files. */ - private static final int DOWNLOAD_THREAD_POOL_SIZE = Settings.getInt(Settings.KEYS.MAX_DOWNLOAD_THREAD_POOL_SIZE, 50); + private static final int DOWNLOAD_THREAD_POOL_SIZE = Math.round(1.5f * Runtime.getRuntime().availableProcessors()); /** * ExecutorService for CPU-intense processing tasks. */ @@ -99,16 +99,20 @@ public class NvdCveUpdater implements CachedWebDataSource { } try { - initializeExecutorServices(); - cveDb = CveDB.getInstance(); - dbProperties = cveDb.getDatabaseProperties(); boolean autoUpdate = true; try { autoUpdate = Settings.getBoolean(Settings.KEYS.AUTO_UPDATE); } catch (InvalidSettingException ex) { LOGGER.debug("Invalid setting for auto-update; using true."); } - if (autoUpdate && checkUpdate()) { + if (!autoUpdate) { + return; + } + initializeExecutorServices(); + cveDb = CveDB.getInstance(); + dbProperties = cveDb.getDatabaseProperties(); + + if (checkUpdate()) { final UpdateableNvdCve updateable = getUpdatesNeeded(); if (updateable.isUpdateNeeded()) { performUpdate(updateable); diff --git a/dependency-check-core/src/main/resources/dependencycheck.properties b/dependency-check-core/src/main/resources/dependencycheck.properties index d4b6b19e1..bf2797f85 100644 --- a/dependency-check-core/src/main/resources/dependencycheck.properties +++ b/dependency-check-core/src/main/resources/dependencycheck.properties @@ -1,7 +1,6 @@ application.name=${pom.name} application.version=${pom.version} autoupdate=true -max.download.threads=50 # the url to obtain the current engine version from engine.version.url=https://jeremylong.github.io/DependencyCheck/current.txt diff --git a/dependency-check-core/src/test/resources/dependencycheck.properties b/dependency-check-core/src/test/resources/dependencycheck.properties index 277b1e6ad..449e1bc5f 100644 --- a/dependency-check-core/src/test/resources/dependencycheck.properties +++ b/dependency-check-core/src/test/resources/dependencycheck.properties @@ -1,7 +1,6 @@ application.name=${pom.name} application.version=${pom.version} autoupdate=true -max.download.threads=50 # the url to obtain the current engine version from engine.version.url=https://jeremylong.github.io/DependencyCheck/current.txt diff --git a/dependency-check-utils/src/test/resources/dependencycheck.properties b/dependency-check-utils/src/test/resources/dependencycheck.properties index 69b649e92..619ec54ce 100644 --- a/dependency-check-utils/src/test/resources/dependencycheck.properties +++ b/dependency-check-utils/src/test/resources/dependencycheck.properties @@ -1,7 +1,6 @@ application.name=${pom.name} application.version=${pom.version} autoupdate=true -max.download.threads=50 # the url to obtain the current engine version from engine.version.url=http://jeremylong.github.io/DependencyCheck/current.txt