Awesome
ECS
融合怪测评脚本 - GO 重构版本
由于未正式发版,如有问题请 issues 反馈。
Go 版本:https://github.com/oneclickvirt/ecs
Shell 版本:https://github.com/spiritLHLS/ecs
语言
适配系统和架构
编译支持的架构
- amd64、arm、arm64、386、mips、mipsle、s390x、riscv64
测试支持的架构
- amd64、arm64
更多架构请自行测试。
编译支持的系统
- Linux、Windows、MacOS、FreeBSD、OpenBSD
测试支持的系统
- Linux、Windows
更多系统请自行测试。
待支持的系统
- MacOS、FreeBSD、OpenBSD(存在硬件测试 BUG 未修复)
功能
- 系统基础信息查询:
自研 basics、gostun - IP 基础信息并发查询:
自研 basics - CPU 测试:
自研 cputest,支持 sysbench、geekbench、winsat - 内存测试:
自研 memorytest,支持 sysbench、dd - 硬盘测试:
自研 disktest,支持 dd、fio、winsat - 流媒体解锁信息并发查询:
借鉴 netflix-verify 等逻辑,开发至 CommonMediaTests - 常见流媒体测试并发查询:
自研至 UnlockTests,逻辑借鉴 RegionRestrictionCheck 等 - IP 质量/安全信息并发查询:
自研,二进制文件编译至 securityCheck - 邮件端口测试:
自研 portchecker - 三网回程测试:
借鉴 zhanghanyun/backtrace,二次开发至 oneclickvirt/backtrace - 三网路由测试:
借鉴 NTrace-core,二次开发至 nt3 - 网速测试:
基于 speedtest.net 和 speedtest.cn 数据,开发至 oneclickvirt/speedtest - 三网 Ping 值测试:
借鉴 ecsspeed,二次开发至 pingtest
使用说明
Linux/FreeBSD/MacOS
一键命令
-
国际用户无加速:
export noninteractive=true && curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh && bash goecs.sh env && bash goecs.sh install && goecs
-
国际/国内使用 CDN 加速:
export noninteractive=true && curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh && bash goecs.sh env && bash goecs.sh install && goecs
-
国内用户使用 CNB 加速:
export noninteractive=true && curl -L https://cnb.cool/oneclickvirt/ecs/-/git/raw/main/goecs.sh -o goecs.sh && chmod +x goecs.sh && bash goecs.sh env && bash goecs.sh install && goecs
详细说明
-
下载脚本
国际用户无加速:
curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh
国际/国内使用 CDN 加速:
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh
国内用户使用 CNB 加速:
curl -L https://cnb.cool/oneclickvirt/ecs/-/git/raw/main/goecs.sh -o goecs.sh && chmod +x goecs.sh
-
更新包管理器(可选择)并安装环境
./goecs.sh env
非互动模式:
export noninteractive=true && ./goecs.sh env
-
安装
goecs
./goecs.sh install
-
升级
goecs
./goecs.sh upgrade
-
卸载
goecs
./goecs.sh uninstall
-
唤起菜单
goecs
命令参数化
Usage: goecs [options]
-backtrace
Enable/Disable backtrace test (in 'en' language or on windows it always false) (default true)
-basic
Enable/Disable basic test (default true)
-comm
Enable/Disable common media test (default true)
-cpu
Enable/Disable CPU test (default true)
-cpum string
Set CPU test method (supported: sysbench, geekbench, winsat) (default "sysbench")
-cput string
Set CPU test thread mode (supported: single, multi) (default "multi")
-disk
Enable/Disable disk test (default true)
-diskm string
Set disk test method (supported: fio, dd, winsat) (default "fio")
-diskmc
Enable/Disable multiple disk checks, e.g., -diskmc=false
-diskp string
Set disk test path, e.g., -diskp /root
-email
Enable/Disable email port test (default true)
-h Show help information
-l string
Set language (supported: en, zh) (default "zh")
-log
Enable/Disable logging in the current path
-memory
Enable/Disable memory test (default true)
-memorym string
Set memory test method (supported: sysbench, dd, winsat) (default "sysbench")
-menu
Enable/Disable menu mode, disable example: -menu=false (default true)
-nt3
Enable/Disable NT3 test (in 'en' language or on windows it always false) (default true)
-nt3loc string
Specify NT3 test location (supported: GZ, SH, BJ, CD for Guangzhou, Shanghai, Beijing, Chengdu) (default "GZ")
-nt3t string
Set NT3 test type (supported: both, ipv4, ipv6) (default "ipv4")
-security
Enable/Disable security test (default true)
-speed
Enable/Disable speed test (default true)
-spnum int
Set the number of servers per operator for speed test (default 2)
-upload
Enable/Disable upload the result (default true)
-ut
Enable/Disable unlock media test (default true)
-v Display version information
Windows
- 下载带 exe 文件的压缩包:Releases
- 解压后,右键以管理员模式运行。
Docker
国际镜像地址:https://hub.docker.com/r/spiritlhl/goecs
请确保执行下述命令前本机已安装Docker
特权模式+host网络
docker run --rm --privileged --network host spiritlhl/goecs:latest -menu=false -l zh
非特权模式+非host网络
docker run --rm spiritlhl/goecs:latest -menu=false -l zh
使用Docker执行测试,硬件测试会有一些偏差和虚拟化架构判断失效,还是推荐直接测试而不使用Docker测试。
国内镜像地址:https://cnb.cool/oneclickvirt/ecs/-/packages/docker/ecs
请确保执行下述命令前本机已安装Docker
特权模式+host网络
docker run --rm --privileged --network host docker.cnb.cool/oneclickvirt/ecs:latest -menu=false -l zh
非特权模式+非host网络
docker run --rm docker.cnb.cool/oneclickvirt/ecs:latest -menu=false -l zh
QA
Q: 为什么默认使用sysbench而不是geekbench
A: 比较二者特点
sysbench geekbench
轻量几乎所有服务器都能跑 重型小机器跑不动
测试无联网需求,无硬件需求 测试必须联网,且必须IPV4环境并有内存大小1G的最低需求
LUA编写且开源,各架构系统可自行编译 仅官方二进制文件且不开源,无对应架构时无法自行编译
核心测试组件十多年不变 每次大版本更新对标的CPU,不同版本间得分互相之间难转化,你只能以对标的CPU为准
测试仅测试计算性能 测试涵盖多种性能测试,得分以权重计算,但实际很多测试项目实际是用不到的
适合快速测试 适合全面测试
且goecs
测试使用何种CPU测试方式可使用参数指定,默认只是为了更多用户快速测试的需求