Skip to content

Commit 889ae9d

Browse files
authored
Increase the idle check interval of the message queue to 200ms to reduce CPU usage under low load conditions (#13227)
1 parent 03b0351 commit 889ae9d

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

docs/en/changes/changes.md

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* Support Flink monitoring.
1515
* BanyanDB: Support `@ShardingKey` for Measure tags and set to TopNAggregation group tag by default.
1616
* BanyanDB: Support cold stage data query for metrics/traces/logs.
17+
* Increase the idle check interval of the message queue to 200ms to reduce CPU usage under low load conditions.
1718

1819
#### UI
1920

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsAggregateWorker.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class MetricsAggregateWorker extends AbstractWorker<Metrics> {
7373
"MetricsAggregateWorker." + modelName, name, queueChannelSize, queueBufferSize, BufferStrategy.IF_POSSIBLE);
7474

7575
BulkConsumePool.Creator creator = new BulkConsumePool.Creator(
76-
name, BulkConsumePool.Creator.recommendMaxSize() * 2, 20);
76+
name, BulkConsumePool.Creator.recommendMaxSize() * 2, 200);
7777
try {
7878
ConsumerPoolFactory.INSTANCE.createIfAbsent(name, creator);
7979
} catch (Exception e) {

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/MetricsPersistentWorker.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public class MetricsPersistentWorker extends PersistenceWorker<Metrics> implemen
127127
if (size == 0) {
128128
size = 1;
129129
}
130-
BulkConsumePool.Creator creator = new BulkConsumePool.Creator(name, size, 20);
130+
BulkConsumePool.Creator creator = new BulkConsumePool.Creator(name, size, 200);
131131
try {
132132
ConsumerPoolFactory.INSTANCE.createIfAbsent(name, creator);
133133
} catch (Exception e) {

oap-server/server-library/library-datacarrier-queue/src/main/java/org/apache/skywalking/oap/server/library/datacarrier/DataCarrier.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,14 @@ public DataCarrier consume(Class<? extends IConsumer<T>> consumerClass,
106106
}
107107

108108
/**
109-
* set consumeDriver to this Carrier. consumer begin to run when {@link DataCarrier#produce} begin to work with 20
109+
* set consumeDriver to this Carrier. consumer begins to run when {@link DataCarrier#produce} begin to work with 200
110110
* millis consume cycle.
111111
*
112112
* @param consumerClass class of consumer
113113
* @param num number of consumer threads
114114
*/
115115
public DataCarrier consume(Class<? extends IConsumer<T>> consumerClass, int num) {
116-
return this.consume(consumerClass, num, 20, new Properties());
116+
return this.consume(consumerClass, num, 200, new Properties());
117117
}
118118

119119
/**
@@ -132,14 +132,14 @@ public DataCarrier consume(IConsumer<T> consumer, int num, long consumeCycle) {
132132
}
133133

134134
/**
135-
* set consumeDriver to this Carrier. consumer begin to run when {@link DataCarrier#produce} begin to work with 20
135+
* set consumeDriver to this Carrier. consumer begin to run when {@link DataCarrier#produce} begin to work with 200
136136
* millis consume cycle.
137137
*
138138
* @param consumer single instance of consumer, all consumer threads will all use this instance.
139139
* @param num number of consumer threads
140140
*/
141141
public DataCarrier consume(IConsumer<T> consumer, int num) {
142-
return this.consume(consumer, num, 20);
142+
return this.consume(consumer, num, 200);
143143
}
144144

145145
/**

0 commit comments

Comments
 (0)