summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authoryinjiangyi <[email protected]>2021-08-02 18:32:38 +0800
committeryinjiangyi <[email protected]>2021-08-02 18:32:38 +0800
commit2c041bee58686db69bec5ca4331ebecd360f79bd (patch)
treea375db1460c0b065a0794ee64bfbce4ce351676d /src/main/java
parentd8e4775d73e9a19f782390e483170232260e5b26 (diff)
修复too many statement(limit is 4)问题前备份
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/cn/mesalab/dao/DruidData.java3
-rw-r--r--src/main/java/cn/mesalab/service/BaselineGeneration.java25
-rw-r--r--src/main/java/cn/mesalab/utils/DruidUtils.java1
3 files changed, 15 insertions, 14 deletions
diff --git a/src/main/java/cn/mesalab/dao/DruidData.java b/src/main/java/cn/mesalab/dao/DruidData.java
index 09552e7..9b391f7 100644
--- a/src/main/java/cn/mesalab/dao/DruidData.java
+++ b/src/main/java/cn/mesalab/dao/DruidData.java
@@ -57,8 +57,7 @@ public class DruidData {
ArrayList<String> serverIPs = new ArrayList<String>();
String sql = "SELECT distinct " + ApplicationConfig.DRUID_SERVERIP_COLUMN_NAME
+ " FROM " + ApplicationConfig.DRUID_TABLE
- + " WHERE " + timeFilter
- + " LIMIT 10000";// FOR TEST
+ + " WHERE " + timeFilter;// FOR TEST
try{
ResultSet resultSet = DruidUtils.executeQuery(connection,sql);
while(resultSet.next()){
diff --git a/src/main/java/cn/mesalab/service/BaselineGeneration.java b/src/main/java/cn/mesalab/service/BaselineGeneration.java
index 25f748d..f588164 100644
--- a/src/main/java/cn/mesalab/service/BaselineGeneration.java
+++ b/src/main/java/cn/mesalab/service/BaselineGeneration.java
@@ -66,6 +66,8 @@ public class BaselineGeneration {
private static void generateBaselinesThread() throws InterruptedException {
int threadNum = Runtime.getRuntime().availableProcessors();
+// int threadNum = 10;
+
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("baseline-demo-%d").build();
@@ -81,7 +83,11 @@ public class BaselineGeneration {
new ThreadPoolExecutor.AbortPolicy());
// baseline 生成及写入
+ // 耗时测试
+ Long startQueryIPList = System.currentTimeMillis();
ArrayList<String> destinationIps = druidData.getServerIpList();
+ Long endQueryIPList = System.currentTimeMillis();
+
LOG.info("共查询到服务端ip " +destinationIps.size() + " 个");
LOG.info("Baseline batch 大小: " + ApplicationConfig.GENERATE_BATCH_SIZE);
@@ -96,18 +102,13 @@ public class BaselineGeneration {
executor.awaitTermination(10L, TimeUnit.HOURS);
}
- static void generateBaselines(){
- ArrayList<String> destinationIps = druidData.getServerIpList();
- generateBaselines(destinationIps);
- LOG.info("BaselineGeneration 共写入数据条数:" + destinationIps.size());
- }
-
public static void generateBaselines(List<String> ipList){
+ Long startGenerationBaselines= System.currentTimeMillis();
+ Long startReadDruidData = System.currentTimeMillis();
- Long startGenerateTime = System.currentTimeMillis();
-
- druidData = DruidData.getInstance();
batchDruidData = druidData.readFromDruid(ipList);
+ Long endReadDruidData = System.currentTimeMillis();
+ //LOG.info("读取Druid数据耗时:"+(endReadDruidData-startReadDruidData));
List<Put> putList = new ArrayList<>();
for(String attackType: attackTypeList){
@@ -119,7 +120,8 @@ public class BaselineGeneration {
}
}
- Long endGenerateTime = System.currentTimeMillis();
+ Long endGenerationBaselines= System.currentTimeMillis();
+ //LOG.info("BaselineGeneration耗时:"+(endGenerationBaselines-endReadDruidData));
try {
hbaseTable.put(putList);
@@ -129,7 +131,7 @@ public class BaselineGeneration {
}
Long endWriteTime = System.currentTimeMillis();
-// LOG.info("性能测试:Baseline写入耗时——"+(endWriteTime-endGenerateTime));
+ //LOG.info("BaselineWriteIn耗时:"+(endWriteTime-endGenerationBaselines));
}
private static int[] generateSingleIpBaseline(String ip, String attackType){
@@ -142,7 +144,6 @@ public class BaselineGeneration {
}
Long endQuerySingleIPTime = System.currentTimeMillis();
- //LOG.info("性能测试:单个ip查询耗时——"+(endQuerySingleIPTime-startQuerySingleIPTime));
// 时间序列缺失值补0
List<Map<String, Object>> completSeries = SeriesUtils.complementSeries(originSeries);
diff --git a/src/main/java/cn/mesalab/utils/DruidUtils.java b/src/main/java/cn/mesalab/utils/DruidUtils.java
index 1b79360..18f6393 100644
--- a/src/main/java/cn/mesalab/utils/DruidUtils.java
+++ b/src/main/java/cn/mesalab/utils/DruidUtils.java
@@ -26,6 +26,7 @@ public class DruidUtils {
*/
public static AvaticaConnection getConn() throws SQLException {
Properties properties = new Properties();
+ properties.setProperty("connectTimeout", String.valueOf(10*60*60));
AvaticaConnection connection = (AvaticaConnection) DriverManager.getConnection(DRUID_URL, properties);
threadLocal.set(connection);
return connection;