summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryinjiangyi <[email protected]>2021-09-13 10:56:25 +0800
committeryinjiangyi <[email protected]>2021-09-13 10:56:25 +0800
commitfac25b6ae64428dd4081f8619cd62f556ffbb58f (patch)
tree24ad21d5afeb847525f66d5354130de56829e605
parent630c86c62ee711d2d864587e6008eeff7e40eb8b (diff)
增加核心和最大线程参数设置
-rw-r--r--src/main/java/cn/mesalab/config/ApplicationConfig.java6
-rw-r--r--src/main/java/cn/mesalab/service/BaselineGeneration.java13
-rw-r--r--src/main/resources/application.properties4
3 files changed, 13 insertions, 10 deletions
diff --git a/src/main/java/cn/mesalab/config/ApplicationConfig.java b/src/main/java/cn/mesalab/config/ApplicationConfig.java
index b55042e..1558de5 100644
--- a/src/main/java/cn/mesalab/config/ApplicationConfig.java
+++ b/src/main/java/cn/mesalab/config/ApplicationConfig.java
@@ -59,7 +59,11 @@ public class ApplicationConfig {
public static final Double BASELINE_KALMAN_P = ConfigUtils.getDoubleProperty("baseline.kalman.p");
public static final Double BASELINE_KALMAN_M = ConfigUtils.getDoubleProperty("baseline.kalman.m");
- public static final Integer THREAD_POOL_NUM = ConfigUtils.getIntProperty("thread.pool.num");
+ public static final Integer ALL_PARTITION_NUM = ConfigUtils.getIntProperty("all.partition.num");
+ public static final Integer MAX_POOL_SIZE = ConfigUtils.getIntProperty("max.pool.size");
+ public static final Integer CORE_POOL_SIZE = ConfigUtils.getIntProperty("core.pool.size");
+
+
public static final Integer PARTITION_NUM_MAX = ConfigUtils.getIntProperty("druid.partition.num.max");
public static final Integer DRUID_STATEMENT_QUERY_TIMEOUT = ConfigUtils.getIntProperty("druid.statement.query.timeout");
diff --git a/src/main/java/cn/mesalab/service/BaselineGeneration.java b/src/main/java/cn/mesalab/service/BaselineGeneration.java
index d15be5d..1bd0e4d 100644
--- a/src/main/java/cn/mesalab/service/BaselineGeneration.java
+++ b/src/main/java/cn/mesalab/service/BaselineGeneration.java
@@ -2,11 +2,8 @@ package cn.mesalab.service;
import cn.mesalab.config.ApplicationConfig;
import cn.mesalab.dao.DruidData;
-import cn.mesalab.utils.HbaseUtils;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import io.vavr.Tuple2;
-import org.apache.commons.collections.ListUtils;
-import org.apache.hadoop.hbase.client.Table;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,9 +29,9 @@ public class BaselineGeneration {
ApplicationConfig.BASELINE_RANGE_DAYS * 24 * (60/ApplicationConfig.HISTORICAL_GRAD);
private static final Tuple2<Long, Long> START_END_TIMES = DruidData.getTimeLimit();
- private static final int threadPoolNum = ApplicationConfig.THREAD_POOL_NUM;
+ private static final int allPartitionNum = ApplicationConfig.ALL_PARTITION_NUM;
// 每个线程读取数据所覆盖的partition_num个数
- private static final int batchPartitionRange = (int) Math.ceil(ApplicationConfig.PARTITION_NUM_MAX /(double)threadPoolNum);
+ private static final int batchPartitionRange = (int) Math.ceil(ApplicationConfig.PARTITION_NUM_MAX /(double) allPartitionNum);
/**
* 程序执行
@@ -54,16 +51,16 @@ public class BaselineGeneration {
}
private static void baselineGeneration() throws InterruptedException {
- CountDownLatch generateCountDownLatch = new CountDownLatch(threadPoolNum);
+ CountDownLatch generateCountDownLatch = new CountDownLatch(allPartitionNum);
ThreadFactory generationThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("baseline-generate-%d").build();
ThreadPoolExecutor generationExecutor = new ThreadPoolExecutor(
- threadPoolNum, threadPoolNum, 0L,
+ ApplicationConfig.CORE_POOL_SIZE, ApplicationConfig.MAX_POOL_SIZE, 0L,
TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1024), generationThreadFactory,
new ThreadPoolExecutor.AbortPolicy());
- for(int threadCount = 0; threadCount<threadPoolNum; threadCount++){
+ for(int threadCount = 0; threadCount< allPartitionNum; threadCount++){
BaselineSingleThread baselineSingleThread = new BaselineSingleThread(
ATTACK_TYPE_LIST,
BASELINE_POINT_NUM,
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index b4bb255..00d58e6 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -68,7 +68,9 @@ monitor.frequency.bin.num=100
##########################################
################ 并发参数 #################
##########################################
-thread.pool.num=5
+all.partition.num=100
+max.pool.size=1
+core.pool.size=3
#druid分区字段partition_num的最大值为9999
druid.statement.query.timeout=36000
druid.partition.num.max=10000