#!/bin/bash # 简化版VPS性能对比测试脚本 # 用法: bash <(curl -sSL https://raw.githubusercontent.com/username/vpsbench/main/simple_bench.sh) # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[0;33m' BLUE='\033[0;34m' NC='\033[0m' # 安装工具 echo "安装测试工具..." if command -v yum >/dev/null 2>&1; then yum install -y sysbench bc >/dev/null 2>&1 elif command -v apt-get >/dev/null 2>&1; then apt-get update >/dev/null 2>&1 apt-get install -y sysbench bc >/dev/null 2>&1 fi # 获取系统信息 CPU_CORES=$(nproc) CPU_MODEL=$(grep "model name" /proc/cpuinfo | head -1 | cut -d: -f2 | sed 's/^ *//' | cut -c 1-30) HOSTNAME=$(hostname) # 运行测试 echo "正在测试CPU性能..." # 单核测试 SINGLE=$(sysbench cpu --threads=1 --cpu-max-prime=20000 run 2>/dev/null | grep "events per second" | awk '{printf "%.1f", $4}') # 多核测试 MULTI=$(sysbench cpu --threads=$CPU_CORES --cpu-max-prime=20000 run 2>/dev/null | grep "events per second" | awk '{printf "%.1f", $4}') # 浮点测试 echo "scale=2000; 4*a(1)" | bc -l -q >/dev/null 2>&1 & FLOAT_PID=$! sleep 3 if ps -p $FLOAT_PID > /dev/null; then FLOAT_TIME=">3秒" kill $FLOAT_PID 2>/dev/null else FLOAT_TIME="<3秒" fi # 显示对比结果 echo "" echo -e "${BLUE}=========================================${NC}" echo -e "${BLUE} VPS性能对比结果${NC}" echo -e "${BLUE}=========================================${NC}" echo "主机: $HOSTNAME" echo "CPU: $CPU_MODEL" echo "核心: $CPU_CORES" echo "" echo -e "${BLUE}性能指标${NC} ${BLUE}当前VPS${NC} ${BLUE}评级${NC}" echo "-----------------------------------------" # 单核性能对比 if (( $(echo "$SINGLE > 800" | bc -l) )); then SINGLE_RATING="${GREEN}优秀${NC}" elif (( $(echo "$SINGLE > 500" | bc -l) )); then SINGLE_RATING="${YELLOW}良好${NC}" else SINGLE_RATING="${RED}一般${NC}" fi printf "单核性能: %-10s %-10s\n" "$SINGLE" "$SINGLE_RATING" # 多核性能对比 EXPECTED_MULTI=$(echo "$SINGLE * $CPU_CORES * 0.8" | bc | awk '{printf "%.1f", $1}') if (( $(echo "$MULTI > $EXPECTED_MULTI" | bc -l) )); then MULTI_RATING="${GREEN}优秀${NC}" elif (( $(echo "$MULTI > $(echo "$SINGLE * $CPU_CORES * 0.6" | bc)" | bc -l) )); then MULTI_RATING="${YELLOW}良好${NC}" else MULTI_RATING="${RED}一般${NC}" fi printf "多核性能: %-10s %-10s\n" "$MULTI" "$MULTI_RATING" # 浮点性能对比 if [ "$FLOAT_TIME" = "<3秒" ]; then FLOAT_RATING="${GREEN}优秀${NC}" else FLOAT_RATING="${RED}一般${NC}" fi printf "浮点性能: %-10s %-10s\n" "$FLOAT_TIME" "$FLOAT_RATING" echo "-----------------------------------------" # 显示参考标准 echo "" echo -e "${YELLOW}参考标准:${NC}" echo -e "${GREEN}优秀${NC}: 单核>800, 多核效率>80%" echo -e "${YELLOW}良好${NC}: 单核500-800, 多核效率60-80%" echo -e "${RED}一般${NC}: 单核<500, 多核效率<60%" # 保存结果用于后续对比 RESULTS_FILE="/tmp/vps_bench_$(date +%Y%m%d_%H%M%S).txt" cat > $RESULTS_FILE << EOF $HOSTNAME | $CPU_CORES核 | 单核:$SINGLE | 多核:$MULTI | 浮点:$FLOAT_TIME EOF echo "" echo -e "结果已保存: ${GREEN}$RESULTS_FILE${NC}" echo -e "对比其他VPS时查看这些文件即可"