网络质量评分,允许略微超过100%,也就是平均心跳延迟小于1ms

This commit is contained in:
大石头 2025-07-23 14:56:12 +08:00
parent b8486dc9bc
commit f9a305f51a
1 changed files with 6 additions and 6 deletions

View File

@ -47,12 +47,12 @@ public class PingMonitor
var threshold = 1f;
var successRate = rtTimes.Count / Times;
var latency = rtTimes.Average();
var latencyScore = 0d;
if (latency <= threshold)
latencyScore = 1f;
else
// 衰减系数λ=0.001。1ms为100%10ms为99.1%100ms为90.57%500ms为60.71%1000ms为36.82%
latencyScore = Math.Exp(-0.001 * (latency - threshold));
//var latencyScore = 0d;
//if (latency <= threshold)
// latencyScore = 1f;
//else
// 衰减系数λ=0.001。1ms为100%10ms为99.1%100ms为90.57%500ms为60.71%1000ms为36.82%
var latencyScore = Math.Exp(-0.001 * (latency - threshold));
// 确保得分在0-1之间
var score = successRate * latencyScore;