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_";