alibaba / alibaba/Sentinel

[BUG] 高并发下SphO.entry(resourceName)方法占用cpu持续飙高,并且固定4秒才返回结果

Open
#3,552 5 comments 0 reactions 0 assignees View on GitHub
wait-for-feedback
Dominant language
Java
Stars
23.1k
Forks
8.1k
PR merge metrics
No merged PRs in 30d

Description

版本:1.4.1

配置:
FlowRule paceRule = new FlowRule();
paceRule.setResource(resourceName);
paceRule.setCount(distributeConfig.getQps().doubleValue());
paceRule.setGrade(RuleConstant.FLOW_GRADE_QPS);
paceRule.setLimitApp("default");
paceRule.setControlBehavior(RuleConstant.CONTROL_BEHAVIOR_RATE_LIMITER);
paceRule.setMaxQueueingTimeMs(distributeConfig.getQpsWaittingTime() * 1000);
flowRules.add(paceRule);

使用:
if (SphO.entry(distributeResourceName)) {
//业务逻辑
return XXX;
}
//业务逻辑

现象:
请求量高,大约200多个线程左右并发,限流值:5,在半夜出现CPU持续飙高未打满,4核cpu达到3.18左右,然后就出现SphO.entry(resourceName)方法固定执行**4秒**钟,同时接口处的另一个SphO.entry方法固定执行**2秒**钟,的重启服务后恢复

环境:
jdk 8,spring boot 1.5.8,spring 4.3.12,4核cpu3G

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.