1.
准备与目标定义
- 明确目标:比较稳定性(丢包、延迟、宕机率、IO/带宽抖动)与价格(含流量、备份、IP、额外IO费用)。
- 列出厂商与计划:至少3家(例如A/B/C),记录机房(台湾台北/台中)、CPU、内存、带宽、磁盘类型、月流量限制及价格。
- 准备环境:本地或云端测试机(最好在大陆/香港/日本各一台)用于发起测试,安装必要工具(ssh、mtr、iperf3、speedtest-cli、wget、curl、uptime-agent)。
2.
购买/申请测试账号与基本配置
- 注册并购买最低可用期的实例或使用免费试用,保留订单信息用于后续成本计算。
- 在每台服务器上执行基本配置:创建非root用户,开启SSH密钥登录,关闭不必要服务。示例命令:ssh-keygen && ssh-copy-id user@ip。
- 确认防火墙允许ICMP、TCP 22/80/443、iperf3端口(默认5201)。
3.
基础连通性与路由测试(步骤与命令)
- Ping 测试(丢包与平均延迟):ping -c 100 IP(记录丢包率与rtt平均/最大)。
- 路由追踪与路径变化:mtr -r -c 100 IP(Linux/macOS)或使用 Windows 的 pathping。保存输出为文本用于比较。
- Traceroute(TCP 模式):sudo traceroute -T -p 80 IP,可发现中间节点丢包与阻塞。
4.
带宽与抖动测试(命令与注意事项)
- iperf3:在云主机上运行 iperf3 -s;在本地运行 iperf3 -c 目标IP -t 60 -P 4 收集带宽稳定性。
- speedtest-cli:pip install speedtest-cli 后运行 speedtest-cli --server SERVER_ID 多次取平均。
- 注意峰值与平稳态:至少在不同时间段(高峰/非高峰)各跑3次并记录日期时间。
5.
网站/应用级稳定性测试(HTTP/IO)
- HTTP 响应:使用 curl -s -w "%{time_total}\\n" -o /dev/null http://yourdomain.com 多次测量并记录慢请求。
- 磁盘IO测试(若有SSD/HDD差异):使用 fio 创建简单测试文件:fio --name=seq-read --rw=read --size=1G --filename=/tmp/testfile --runtime=60。记录 IOPS 与延迟。
- 并发压测:使用 ApacheBench ab -n 1000 -c 50 http://yourdomain/ 观察失败率与平均响应时间。
6.
长期监控与告警配置(建议工具与步骤)
- 使用第三方监控:注册 UptimeRobot/StatusCake/Datadog,配置每分钟 HTTP/ICMP 监控并设置邮件/Telegram告警。
- 站点内部监控:在每台服务器上部署 Prometheus node_exporter 与 Grafana,抓取 CPU/内存/磁盘/网络/IO 指标并画长期图表(建议保留30天数据)。
- 日志与事件同步:开启 syslog 或 filebeat 发送到集中的 ELK 或 Loki,便于事后关联故障时间点。
7.
价格比较的规范化方法
- 归一化单位:将价格换算为“每月每 vCPU”、“每月每 GB 内存”、“每月每 TB 出站流量”。如:月费 ÷ vCPU数,月费 ÷ 内存GB,月费 ÷ 月带宽上限。
- 考虑隐藏费用:备份/快照、额外公网IP、超流量计费、数据迁出(egress)费用。将这些按预计使用量折算进总成本。
- 示例计算:若A厂商月费300元含2vCPU/4GB/2TB流量,超流量按0.5元/GB,预估使用1.2TB,则总成本=300+max(0, (1.2-2)*1024*0.5)=300(无超流量)。
8.
记录与对比评估模板(如何汇总数据)
- 建议字段:厂商、机房、实例规格、平均延迟(ms)、丢包率(%)、99%响应时间(ms)、IOPS、带宽稳定性(%)、月总成本、备注(维护、客服、SLA)。
- 使用Excel或Google Sheet导入测试结果,做同列横向比较与排序,计算性价比指标(如延迟/元、可用率/元)。
9.
决策权重建议与最终选择
- 根据实际业务设定权重:例如站点以稳定为主(稳定性60%/价格30%/支持10%),API服务以延迟优先。
- 用权重乘以归一化得分,得出综合评分后按预算选择,同时考虑备援策略(多供应商或跨机房备份)。
10.
问:我如何快速判断厂商稳定性最低的3项指标?
- 答:先看丢包率、95/99百分位响应时间和历史可用率。用 ping/mtr 得到丢包与路径跳数,curl/ab 得到响应时间分布,再结合UptimeRobot或厂商SLA历史数据,三项同时差说明稳定性较差。
11.
问:价格归一化时有哪些容易忽略的费用?
- 答:常见被忽略的有出站流量费用(egress)、备份快照费用、峰值带宽超额费用与额外弹性IP费用。测试前务必阅读计费细则并按预计流量换算。
12.
问:测试周期与样本量如何设定才靠谱?
- 答:建议至少持续7天覆盖工作日与周末高峰、每日多时段(凌晨/午间/晚高峰)测试;每个时段至少3次并取中位或平均,长期可扩展到30天以观测季节性波动。