This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch new-consumer-pool
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git


The following commit(s) were added to refs/heads/new-consumer-pool by this push:
     new 79d15b3  Set UI jetty thread default number to 4(down from 10)
79d15b3 is described below

commit 79d15b320067e24cda30f428fdf2d85b083861c1
Author: Wu Sheng <wu.sh...@foxmail.com>
AuthorDate: Fri Feb 15 21:42:46 2019 +0800

    Set UI jetty thread default number to 4(down from 10)
---
 .../oap/server/core/CoreModuleConfig.java          |  1 +
 .../oap/server/core/CoreModuleProvider.java        |  2 +-
 .../server/core/analysis/worker/TopNWorker.java    |  2 +-
 .../server/library/server/jetty/JettyServer.java   | 25 ++++++++++++++++++++--
 .../SegmentStandardizationWorker.java              |  2 +-
 5 files changed, 27 insertions(+), 5 deletions(-)

diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java
index 3de179a..453253a 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleConfig.java
@@ -30,6 +30,7 @@ public class CoreModuleConfig extends ModuleConfig {
     @Setter private String nameSpace;
     @Setter private String restHost;
     @Setter private int restPort;
+    @Setter private int jettySelectors = 1;
     @Setter private String restContextPath;
     @Setter private String gRPCHost;
     @Setter private int gRPCPort;
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
index 0106fe7..f6db632 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
@@ -95,7 +95,7 @@ public class CoreModuleProvider extends ModuleProvider {
         }
         grpcServer.initialize();
 
-        jettyServer = new JettyServer(moduleConfig.getRestHost(), 
moduleConfig.getRestPort(), moduleConfig.getRestContextPath());
+        jettyServer = new JettyServer(moduleConfig.getRestHost(), 
moduleConfig.getRestPort(), moduleConfig.getRestContextPath(), 
moduleConfig.getJettySelectors());
         jettyServer.initialize();
 
         this.registerServiceImplementation(DownsamplingConfigService.class, 
new DownsamplingConfigService(moduleConfig.getDownsampling()));
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/TopNWorker.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/TopNWorker.java
index 5d6304e..8bf5dd6 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/TopNWorker.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/TopNWorker.java
@@ -48,7 +48,7 @@ public class TopNWorker extends PersistenceWorker<TopN, 
LimitedSizeDataCache<Top
         this.limitedSizeDataCache = new LimitedSizeDataCache<>(topNSize);
         this.recordDAO = recordDAO;
         this.modelName = modelName;
-        this.dataCarrier = new DataCarrier<>(1, 10000);
+        this.dataCarrier = new DataCarrier<>("TopNWorker", 1, 1000);
         this.dataCarrier.consume(new TopNWorker.TopNConsumer(), 1);
         this.lastReportTimestamp = System.currentTimeMillis();
         // Top N persistent only works per 10 minutes.
diff --git 
a/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/jetty/JettyServer.java
 
b/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/jetty/JettyServer.java
index 84e24d4..97f4c85 100644
--- 
a/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/jetty/JettyServer.java
+++ 
b/oap-server/server-library/library-server/src/main/java/org/apache/skywalking/oap/server/library/server/jetty/JettyServer.java
@@ -18,10 +18,12 @@
 
 package org.apache.skywalking.oap.server.library.server.jetty;
 
-import java.net.InetSocketAddress;
 import java.util.Objects;
+import org.apache.skywalking.oap.server.library.server.Server;
 import org.apache.skywalking.oap.server.library.server.*;
+import org.eclipse.jetty.server.*;
 import org.eclipse.jetty.servlet.*;
+import org.eclipse.jetty.util.thread.QueuedThreadPool;
 import org.slf4j.*;
 
 /**
@@ -34,13 +36,19 @@ public class JettyServer implements Server {
     private final String host;
     private final int port;
     private final String contextPath;
+    private final int selectorNum;
     private org.eclipse.jetty.server.Server server;
     private ServletContextHandler servletContextHandler;
 
     public JettyServer(String host, int port, String contextPath) {
+        this(host, port, contextPath, -1);
+    }
+
+    public JettyServer(String host, int port, String contextPath, int 
selectorNum) {
         this.host = host;
         this.port = port;
         this.contextPath = contextPath;
+        this.selectorNum = selectorNum;
     }
 
     @Override
@@ -55,7 +63,20 @@ public class JettyServer implements Server {
 
     @Override
     public void initialize() {
-        server = new org.eclipse.jetty.server.Server(new 
InetSocketAddress(host, port));
+        QueuedThreadPool threadPool = new QueuedThreadPool();
+        if (selectorNum > 0) {
+            threadPool.setMaxThreads(selectorNum * 2 + 2);
+        }
+
+        server = new org.eclipse.jetty.server.Server(threadPool);
+
+        HttpConfiguration httpConfig = new HttpConfiguration();
+        ServerConnector http = new ServerConnector(server, null, null, null,
+            1, selectorNum, new HttpConnectionFactory(httpConfig));
+        http.setPort(port);
+        http.setHost(host);
+
+        server.addConnector(http);
 
         servletContextHandler = new 
ServletContextHandler(ServletContextHandler.NO_SESSIONS);
         servletContextHandler.setContextPath(contextPath);
diff --git 
a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SegmentStandardizationWorker.java
 
b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SegmentStandardizationWorker.java
index 47b4396..78deb6a 100644
--- 
a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SegmentStandardizationWorker.java
+++ 
b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SegmentStandardizationWorker.java
@@ -57,7 +57,7 @@ public class SegmentStandardizationWorker extends 
AbstractWorker<SegmentStandard
         stream.initialize();
 
         dataCarrier = new DataCarrier<>(1, 1024);
-        dataCarrier.consume(new Consumer(stream), 1);
+        dataCarrier.consume(new Consumer(stream), 1, 200);
 
         MetricCreator metricCreator = 
moduleManager.find(TelemetryModule.NAME).provider().getService(MetricCreator.class);
         String metricNamePrefix = isV6 ? "v6_" : "v5_";

Reply via email to