Fusion Monster Evaluation Script - GO Refactored Version
Please report any issues via issues.
Go version:https://github.com/oneclickvirt/ecs
Shell version: https://github.com/spiritLHLS/ecs/blob/main/README_EN.md
Architectures supported for compilation: amd64、arm、arm64、386、mips、mipsle、s390x、riscv64
Tested architectures: amd64, arm64
More architectures please test by yourself
Compilation support: Linux, Windows、MacOS、FreeBSD、OpenBSD
Tested on: Linux, Windows
More systems to be tested
Systems to be supported (hardware testing bugs not yet fixed): MacOS、FreeBSD、OpenBSD
- System basic information query and concurrent IP basic information query [Self-developed basics, gostun]
- CPU test [Self-developed cputest supporting sysbench(lua/golang version), geekbench, winsat]
- Memory test [Self-developed memorytest supporting sysbench, dd]
- Disk test [Self-developed disktest supporting dd, fio, winsat]
- Concurrent streaming media unlock information query for three major platforms [Modified from netflix-verify, VerifyDisneyPlus, TubeCheck to CommonMediaTests]
- Concurrent common streaming media tests [Self-developed code, logic modified from RegionRestrictionCheck, MediaUnlockTest to UnlockTests]
- Concurrent IP quality/security information query [Self-developed, due to testing with key information, privately developed, but binary files compiled in securityCheck]
- Email port test [Self-developed portchecker]
- Three-network return path test [Modified from zhanghanyun/backtrace to oneclickvirt/backtrace]
- Three-network route test [Modified from NTrace-core to nt3]
- Speed test [Based on data from speedtest.net-crawler, speedtest.cn-crawler, modified from speedtest-go to oneclickvirt/speedtest]
- Three-network Ping test [Modified from ecsspeed logic to pingtest]
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 -l en
Download the script
curl -L https://raw.githubusercontent.com/oneclickvirt/ecs/master/goecs.sh -o goecs.sh && chmod +x goecs.sh
Install environment
./goecs.sh env
If you don't want interaction, use export noninteractive=true
and then execute the env
command
Install goecs
./goecs.sh install
Upgrade goecs
./goecs.sh upgrade
Uninstall goecs
./goecs.sh uninstall
Explanation of the shell script
Available commands:
./goecs.sh env Check and Install dependencies
Warning: This command performs system update(optional), which may:
1. Take considerable time
2. Cause temporary network interruptions
3. Impact system stability
4. Affect subsequent system startups
For systems with less than 1GB RAM, additional risks:
1. System freeze
2. SSH connection loss
3. Critical service failures
Recommended:
Hanging execution during environment dependency installation
Required components:
sysbench/geekbench (Required for CPU testing)
Optional components:
sudo, tar, unzip, dd, fio
speedtest (Network testing)
ping (Network connectivity)
systemd-detect-virt/dmidecode (System info detection)
./goecs.sh install Install goecs command
./goecs.sh upgrade Upgrade goecs command
./goecs.sh uninstall Uninstall goecs command
./goecs.sh help Show this message
Invoke the goecs menu
goecs -l en
or
./goecs -l en
Parameterized goecs command
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
Download the compressed file with the exe file
https://github.com/oneclickvirt/ecs/releases
Find the latest version, download the .zip file corresponding to your architecture, and unzip it to get an exe file.
Right-click the exe file and select Run as administrator (running without administrator mode will not allow hardware testing), and invoke the menu to choose.
No environment installation is required for Windows testing.
Link: https://hub.docker.com/r/spiritlhl/goecs
Please make sure that Docker is installed on your machine before executing the following commands
Privileged Mode + host network
docker run --rm --privileged --network host spiritlhl/goecs:latest -menu=false -l en
Unprivileged mode + non-host network
docker run --rm spiritlhl/goecs:latest
Using Docker to execute tests, hardware testing will have some bias and virtualization architecture to determine the failure.
Recommended direct testing without using Docker testing.
Comparison | sysbench | geekbench |
---|---|---|
Scope | Lightweight, runs on almost any server | Heavyweight, will not run on small machines |
Test Requirements | No networking, no special hardware required | Requires network, IPv4 environment, minimum 1G memory |
Open Source | Written in LUA, open-source, can be compiled for any architecture | Official binaries only, not open-source, cannot compile for unsupported architectures |
Test Stability | Core test components unchanged for over 10 years | Major releases update benchmark CPU, making scores difficult to compare across versions(Each version is benchmarked against the current best CPU) |
Test Content | Only tests computing performance | Covers various performance aspects, scores are weighted, but many tests are not practically used |
Best Use Case | Ideal for quick tests | Ideal for comprehensive tests |
And goecs
test to use what kind of CPU test method can be specified using the parameter, the default is just for more users to quickly test the needs of the