调整influxdb插入条数20000,增加线程池

This commit is contained in:
wr
2025-04-28 10:59:10 +08:00
parent e875c872f0
commit e130ccb2e0
19 changed files with 73 additions and 17 deletions

View File

@@ -7,6 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.DependsOn;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
@@ -18,6 +19,7 @@ import org.springframework.scheduling.annotation.EnableAsync;
@MapperScan("com.njcn.**.mapper")
@EnableFeignClients(basePackages = "com.njcn")
@SpringBootApplication(scanBasePackages = "com.njcn")
@EnableScheduling
public class MigrationReadBootApplication {
public static void main(String[] args) {

View File

@@ -0,0 +1,48 @@
package com.njcn.migration.read.config;
import com.njcn.common.config.GeneralInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;
/**
* @author hongawen
* @version 1.0.0
* @date 2022年03月11日 09:32
*/
@Data
@Order(100)
@Configuration
@EnableAsync
@AllArgsConstructor
public class AsyncInfluxDBConfiguration {
private final GeneralInfo generalInfo;
@Bean("asyncInfluxDBExecutor")
public Executor asyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 核心线程数:线程池创建时候初始化的线程数
executor.setCorePoolSize(generalInfo.getCorePoolSize());
// 最大线程数:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
executor.setMaxPoolSize(generalInfo.getMaxPoolSize());
// 缓冲队列:用来缓冲执行任务的队列
executor.setQueueCapacity(generalInfo.getQueueCapacity());
// 允许线程的空闲时间60秒当超过了核心线程之外的线程在空闲时间到达之后会被销毁
executor.setKeepAliveSeconds(generalInfo.getKeepAliveSeconds());
// 线程池名的前缀:设置好了之后可以方便我们定位处理任务所在的线程池
executor.setThreadNamePrefix(generalInfo.getMicroServiceName());
// 缓冲队列满了之后的拒绝策略:由调用线程处理(一般是主线程)
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
executor.initialize();
return executor;
}
}

View File

@@ -52,7 +52,7 @@ public class MigrationServiceImpl implements MigrationService {
@Override
@Async
@Async("asyncInfluxDBExecutor")
public void hourseLineDataBacthSysc(LineCountEvaluateParam param) {
Map<String, String> map = TimeUtil.getLineMap();
int size = map.size();
@@ -97,7 +97,7 @@ public class MigrationServiceImpl implements MigrationService {
}
@Override
@Async
@Async("asyncInfluxDBExecutor")
public void hourseDevDataBacthSysc(LineCountEvaluateParam param) {
Map<String, String> map = TimeUtil.getDevMap();
int size = map.size();
@@ -127,6 +127,7 @@ public class MigrationServiceImpl implements MigrationService {
}
@Override
@Async("asyncInfluxDBExecutor")
public void initializeExcel() throws IOException {
File file = new File("/usr/local/jar/sj.xlsx");
Map<String, String> map = TimeUtil.getLineMap();

View File

@@ -58,6 +58,11 @@ mybatis-plus:
#配置sql日志输出
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
threadPool:
corePoolSize: 12
maxPoolSize: 24
queueCapacity: 500
keepAliveSeconds: 60
# type-aliases-package: com.njcn.harmonic.pojo
# type-handlers-package: com.njcn.db.handler