基于NodeQuality测试脚本,而生成的打分脚本Idcsleekbench
首先感谢酒神开源NodeQuality:https://github.com/LloydAsp/NodeQuality
其次感谢融合怪脚本:https://github.com/spiritLHLS/ecs
Idcsleekbench主要是基于NodeQuality脚本测试结果加入了评分规则。主要用于将测评结果放到idcsleek保存,给与评分规则,只为给新手提供选鸡参考。现在使用Idcsleekbench测评发布成功,直接奖励100积分。
Idcsleekbench测试脚本:
bash <(curl -sL https://run.idcsleek.com)
用户问评分脚本对哪些项目打分。我需要解释 score.sh 中的评分维度。
根据 score.sh:
- CPU
- Memory
- Disk
- IP Quality
- Network
- Route
我应该详细说明每个维度基于什么数据计算。
我需要查看 CPU、Memory、Disk、IP Quality 的评分函数定义。
我需要查看 CPU 评分函数。
现在我有了所有评分函数的信息。让我整理一个清晰的回答,说明每个评分维度基于什么数据,权重如何。 评分脚本对以下 6 个项目打分:
| 维度 | 数据来源 | 计分方式 |
|---|---|---|
| CPU | hardware_quality.json |
优先使用原始百分位cpu_pct;否则基于 Geekbench5 / Sysbench 单核+多核分数映射到 0-100 |
| Memory | hardware_quality.json |
优先使用原始百分位mem_pct;否则基于内存读写带宽和延迟计算 |
| Disk | hardware_quality.json |
优先使用原始百分位disk_pct;否则基于 fio 4K/64K 随机 IOPS 计算 |
| IP Quality | ip_quality.json |
风险评分(60%) + 流媒体解锁率(30%) + 25端口可用性(10%) |
| Network | net_quality.json |
平均速度(70%) + 平均延迟(30%) |
| Route | net_quality.json |
三网(CT/CU/CM)平均延迟,延迟越低分越高 |
详细说明
1. CPU
- 首选:
Benchmark.cpu_pct(HardwareQuality 原始百分位分数,直接反映这台机器在所有测试机器中的排名) -
回退:
- Geekbench5:
single / 30和multi / (30 × 核心数),取平均 - Sysbench:
single / 200和multi / (200 × 核心数),取平均
- Geekbench5:
2. Memory
- 首选:
Benchmark.mem_pct -
回退:基于读写带宽(MB/s)和延迟(ns)
- 带宽分:
带宽 / 100,封顶 100 - 延迟分:
100 - 延迟 / 15 - 最终:带宽 70% + 延迟 30%
- 带宽分:
3. Disk
- 首选:
Benchmark.disk_pct -
回退:基于 fio 随机 IOPS
- 4K Q32 随机读写优先
- 其次回退到 64K Q32
4. IP Quality
- 风险评分 60%:综合
IP2LOCATION、SCAMALYTICS、ipapi、AbuseIPDB、IPQS、DBIP等风险分数,100 减去平均分 - 流媒体解锁 30%:解锁平台数 / 总测试平台数 × 100
- 25 端口 10%:能发邮件 100 分,不能 0 分
5. Network
- 读取
Speedtest和Transfer数据 - 平均上传/下载速度:
速度(Mbps) / 10,封顶 100(即 1 Gbps ≈ 100 分) - 平均延迟:
100 - 延迟(ms),封顶 100 - 最终:速度 70% + 延迟 30%
6. Route
- 读取
net_quality.json中Delay数组 - 提取
CT(电信)、CU(联通)、CM(移动)的 Average 延迟 - 计算三网平均延迟:
100 - 平均延迟(ms)
综合评分
综合评分 = 上述有效维度分数的算术平均值,满分 100。
等级划分:
- S ≥ 90
- A ≥ 80
- B ≥ 70
- C ≥ 60
- D ≥ 40
- F < 40
如果某个维度测试失败或数据缺失,显示 N/A,不计入综合评分。
0
2