查看问题详情
| 编号 | 项目 | 分类 | 查看权限 | 报告日期 | 最后更新 |
|---|---|---|---|---|---|
| 0000319 | Anolis OS 8 | - cloud kernel 5.10 | public | 2021-10-13 10:32 | 2021-10-18 15:13 |
| 报告员 | CruzZhao | 分派给 | Shiloong | ||
| 优先级 | normal | 严重性 | minor | 出现频率 | always |
| 状态 | assigned | 处理状况 | open | ||
| 标题 | 0000319: [sched]混部场景下,压力较高时,运行在同一个core上的在线业务会相互干扰,导致性能下降 | ||||
| 描述 | 混部场景下,压力较高时,运行在同一个core上的在线业务会相互干扰,导致性能下降 | ||||
| 问题重现步骤 | 1.部署高优先级业务(见附件1),avg、P50、P95、P99等数据(运行结束后有输出),bvt设置为2 2.部署高优先级业务和低优先级业务stress-ng,其中低优先级业务cpu使用率为67%(相对于整机),启动命令为stress-ng -c $nr_cpus -l 67,获取在线业务的数据 3.对比存在线场景和混部场景下的在线业务rt数据 期望各项数据差距均在5%以内 实际结果:P95、P95差距在7%左右 | ||||
| 附注 | Aone id: 37265013 | ||||
| 标签 | 没加标签. | ||||
|
|
doCpuWork.go (1,349 字节)
package main
import (
"fmt"
"github.com/rcrowley/go-metrics"
// "log"
"math"
// "os"
"sync"
"time"
)
func doCpuWork(cpuSize int, count int) time.Duration {
var wg sync.WaitGroup
start := time.Now()
tmp := 0.0
for c := 0; c < cpuSize; c++ {
wg.Add(1)
go func() {
for i := 0; i < count; i++ {
tmp = math.Sqrt(float64(i))
}
wg.Done()
}()
}
wg.Wait()
elapsed := time.Since(start)
// fmt.Println("execute time: ", elapsed)
return elapsed
}
func main() {
s := metrics.NewExpDecaySample(1028, 0.015)
h := metrics.NewHistogram(s)
metrics.Register("baz", h)
for i := 0; i < 200; i++ {
rt := doCpuWork(4, 20000000)
h.Update(int64(rt))
// time.Sleep(time.Duration(10) * time.Millisecond)
}
ps := h.Percentiles([]float64{0.5, 0.90, 0.95, 0.99})
fmt.Println("quantile 0.5: ", ps[0], "ns")
fmt.Println("quantile 0.90: ", ps[1], "ns")
fmt.Println("quantile 0.95: ", ps[2], "ns")
fmt.Println("quantile 0.99: ", ps[3], "ns")
}
|
| 日期 | 用户名 | 字段 | 更改 |
|---|---|---|---|
| 2021-10-13 10:32 | CruzZhao | 新建问题 | |
| 2021-10-13 10:32 | CruzZhao | 添加了以下文件:: doCpuWork.go | |
| 2021-10-18 15:13 | geliwei-ali | 分派给 | => Shiloong |
| 2021-10-18 15:13 | geliwei-ali | 状态 | 新建 => 已分配 |