You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2021/01/13 10:42:56 UTC
[servicecomb-java-chassis] 02/07: SCB-2178 Improve algorithm of loadBalance strage WeightedResponse #修改测试用例,由于算法中使用了1分钟时间窗口采样来替代原来的累积采样, #导致原来的测试用例,不能覆盖现有逻辑。新修改的地方:通过控制情况的时间分布, #来达到触发1分钟时间窗口的变化导致策略变化。
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
commit 46b4ccd4fe4b49c0bd33811605ef98e539ea41da
Author: zyl <20...@qq.com>
AuthorDate: Tue Jan 12 20:01:55 2021 +0800
SCB-2178 Improve algorithm of loadBalance strage WeightedResponse
#修改测试用例,由于算法中使用了1分钟时间窗口采样来替代原来的累积采样,
#导致原来的测试用例,不能覆盖现有逻辑。新修改的地方:通过控制情况的时间分布,
#来达到触发1分钟时间窗口的变化导致策略变化。
---
.../servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java
index 10dfed3..fe02642 100644
--- a/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java
+++ b/handlers/handler-loadbalance/src/test/java/org/apache/servicecomb/loadbalance/TestWeightedResponseTimeRuleExt.java
@@ -53,7 +53,7 @@ public class TestWeightedResponseTimeRuleExt {
}
@Test
- public void testWeighed() {
+ public void testWeighed() throws InterruptedException {
WeightedResponseTimeRuleExt rule = new WeightedResponseTimeRuleExt();
LoadBalancer loadBalancer = new LoadBalancer(rule, "testService");
List<ServiceCombServer> servers = new ArrayList<>();
@@ -73,10 +73,12 @@ public class TestWeightedResponseTimeRuleExt {
} else {
server2.incrementAndGet();
}
+ //此处是为了控制请求的时间窗口大小,使得策略中1分钟大小的时间窗口生效,并产生变化
+ Thread.sleep(1);
}
double percent = (double) server1.get() / (server2.get() + server1.get());
System.out.println("percent" + percent);
- Assert.assertEquals("actually percent: " + percent, 0.70d < percent, percent < 0.90d);
+ Assert.assertEquals("actually percent: " + percent, 0.50d < percent, percent < 0.90d);
}
@Test