ecs

command module
v0.1.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2025 License: GPL-3.0 Imports: 35 Imported by: 0

README

ECS

release

Hits

融合怪测评项目 - GO 重构版本

如有问题请 issues 反馈。

Go 版本:https://github.com/oneclickvirt/ecs

Shell 版本:https://github.com/spiritLHLS/ecs


语言

中文文档 | English Docs


适配系统和架构

编译支持的架构
  • amd64、arm、arm64、386、mips、mipsle、s390x、riscv64
测试支持的架构
  • amd64、arm64

更多架构请自行测试。

编译支持的系统
  • Linux、Windows、MacOS、FreeBSD、OpenBSD
测试支持的系统
  • Linux、Windows

更多系统请自行测试。

待支持的系统
  • MacOS、FreeBSD、OpenBSD(存在硬件测试 BUG 未修复)

功能


使用说明

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
    
详细说明
  1. 下载脚本

    国际用户无加速:

    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
    
  2. 更新包管理器(可选择)并安装环境

    ./goecs.sh env
    

    非互动模式:

    export noninteractive=true && ./goecs.sh env
    
  3. 安装 goecs

    ./goecs.sh install
    
  4. 升级 goecs

    ./goecs.sh upgrade
    
  5. 卸载 goecs

    ./goecs.sh uninstall
    
  6. 帮助命令

    ./goecs.sh -h
    
  7. 唤起菜单

    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
  1. 下载带 exe 文件的压缩包:Releases
  2. 解压后,右键以管理员模式运行。

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

我来帮你修复排版,以下是格式调整后的完整内容:

从源码中进行编译
展开查看编译说明
  1. 克隆仓库的 public 分支(不含私有依赖)
git clone -b public https://github.com/oneclickvirt/ecs.git
cd ecs
  1. 安装 Go 环境(如已安装可跳过)
# 下载并安装 Go
wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
  1. 编译
go build -o goecs
  1. 运行测试
./goecs -menu=false -l zh

支持的编译参数:

  • GOOS:支持 linux、windows、darwin、freebsd、openbsd
  • GOARCH:支持 amd64、arm、arm64、386、mips、mipsle、s390x、riscv64

跨平台编译示例:

# 编译 Windows 版本
GOOS=windows GOARCH=amd64 go build -o goecs.exe
# 编译 MacOS 版本
GOOS=darwin GOARCH=amd64 go build -o goecs_darwin

QA

Q: 为什么默认使用sysbench而不是geekbench
A: 比较二者特点
比较项 sysbench geekbench
适用范围 轻量级,几乎可在任何服务器上运行 重量级,小型机器无法运行
测试要求 无需网络,无特殊硬件需求 需联网,IPV4环境,至少1G内存
开源情况 基于LUA,开源,可自行编译各架构版本 官方二进制闭源代码,不支持自行编译
测试稳定性 核心测试组件10年以上未变 每个大版本更新测试项,分数不同版本间难以对比(每个版本对标当前最好的CPU)
测试内容 仅测试计算性能 覆盖多种性能测试,分数加权计算,但部分测试实际不常用
适用场景 适合快速测试,仅测试计算性能 适合综合全面的测试

goecs测试使用何种CPU测试方式可使用参数指定,默认只是为了更多用户快速测试的需求

Q: 为什么使用Golang而不是Rust重构
A: 因为网络相关的项目目前以Golang语言为趋势,大多组件有开源生态维护,Rust很多得自己手搓,我懒得搞我没那个技术力
Q: 为什么不继续开发Shell版本而是选择重构
A: 因为太多千奇百怪的环境问题了,还是提前编译好测试的二进制文件比较容易解决环境问题(泛化性更好)
Q: 每个测试项目的说明有吗?
A: 每个测试项目有对应的维护仓库,自行点击查看仓库说明
Q: 测试进行到一半如何手动终止?
A: 按ctrl键和c键终止程序,终止后依然会在当前目录下生成goecs.txt文件和分享链接,里面是已经测试到的信息。
Q: 非Root环境如何进行测试?
A: 手动执行安装命令,实在装不上也没问题,直接在release中下载对应架构的压缩包解压后执行即可,只要你能执行的了文件。或者你能使用docker的话用docker执行。

致谢

感谢 ipinfo.io ip.sb cheervision.co cip.cc scamalytics.com abuseipdb.com virustotal.com ip2location.com ip-api.com ipregistry.co ipdata.co ipgeolocation.io ipwhois.io ipapi.com ipapi.is ipqualityscore.com bigdatacloud.com ipip.net abstractapi.com 等网站提供的API进行检测,感谢互联网各网站提供的查询资源

感谢

h501

提供的免费托管支持本开源项目的共享测试结果存储

同时感谢以下平台提供编辑和测试支持

PyCharm logo

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL