VPS 选购指南:花最少的钱买到够用的机器

买 VPS 最容易犯的错是「按价格选」而不是「按用途选」。这篇按我实际用过的情况,把参数和场景对应起来。

一、先想清楚干什么用

用途推荐配置月费参考
纯静态博客1 核 / 512M~1G3~5 美元
博客 + 数据库1~2 核 / 1~2G5~10 美元
小应用 + Docker2 核 / 2~4G10~20 美元
多个站点 / 开发测试2~4 核 / 4~8G20~40 美元

个人静态站 1 核 1G 完全够用。 Nginx 跑静态资源,内存占用不到 50MB,瓶颈从来不是 CPU。

二、参数逐个看

CPU

  • 核数也看是否共享。「1 vCPU」可能是独占一个物理核,也可能是多个 VPS 抢一个核;
  • 商家标注的「Burstable」意味着平时给你低配额,空闲时可以冲高,不适合持续负载;
  • 静态站对 CPU 几乎无要求。
bash
# 看 CPU 型号与核数
lscpu | grep -E "Model name|^CPU\(s\)|MHz"

# 简单跑分(单核)
sysbench cpu --cpu-max-prime=20000 run 2>/dev/null | grep "events per second"

内存

这是最容易被低估的一项。粗略估算:

组件占用
系统空闲100~200MB
Nginx10~30MB
MySQL200~400MB
PostgreSQL100~200MB
Redis20~50MB
Node 应用50~150MB
Docker daemon50~100MB

1G 内存的机器跑「Nginx + MySQL + Node」会非常紧张,必须调低 innodb_buffer_pool_size 并加 swap。

硬盘:SSD 是底线

  • 必须是 SSD,HDD 的随机 IO 会让数据库慢到无法接受;
  • 容量 20G 起步(系统 + 日志 + 站点够用);
  • 注意是 NVMe 还是 SATA SSD,前者快很多。
bash
# 测磁盘 IO(4k 随机写是数据库的关键指标)
dd if=/dev/zero of=testfile bs=4k count=10000 oflag=direct 2>&1 | tail -1
rm -f testfile

带宽与流量

这是最容易被忽略、也最容易超标的:

概念含义
带宽每秒能传多少(如 100Mbps)
流量每月总共能传多少(如 1TB)
计费超流量后限速还是收费

估算一下:一个 100KB 的页面,1 万次访问约 1GB。加上图片,一个小型博客每月几十 GB 就很够。

「不限流量」通常意味着「带宽很低」(比如 5Mbps)。对个人站够用,但别指望跑下载。

线路(国内用户的关键)

同样是美国机房,直连、CN2 GIA、普通国际线路,延迟能差 3 倍。

线路特点价格
普通国际晚高峰丢包严重便宜
CN2 GT改善明显中等
CN2 GIA最快最稳,双向直连
亚洲机房(东京/新加坡/香港)物理距离近,延迟 30~80ms中等

国内访问优先选亚洲机房,比折腾线路更直接。

bash
# 测延迟与丢包
ping -c 20 your-server-ip
mtr --report your-server-ip

三、机房位置怎么选

用户群推荐机房说明
中国大陆香港 / 东京 / 新加坡延迟低,但香港带宽贵
中国大陆(需备案)境内云阿里云/腾讯云轻量,延迟最低,但要备案
北美美西(洛杉矶/圣何塞)到亚洲比美东快
欧洲法兰克福 / 伦敦
全球欧洲或美东折中或上 CDN

套 Cloudflare CDN 能部分掩盖机房位置问题(静态资源走边缘节点),但动态请求仍要回源,物理距离无法回避。

四、计费方式

方式优点缺点
月付灵活,随时换单价最高
年付通常便宜 20~40%锁定一年
三年付最便宜商家跑路风险
按小时适合临时测试长期最贵

我的做法:新商家先月付试一个月,测速测稳,满意了再转年付。

五、几个真实的避坑点

  1. 超售严重的低价机:1 核 512M 卖 10 元/年的那种,CPU 常年被抢,实测可能只有标称的 1/5;
  2. 商家跑路:年付三年付要挑成立时间长、口碑稳定的;小商家只月付;
  3. IP 被墙:便宜机的 IP 段常被滥用导致被墙,买之前先测:pingtcping 443
  4. 无法重装系统:确认控制台有 VNC 和重装功能,操作失误还有救;
  5. 快照收费:有些商家快照另计费,这东西很重要,问清楚;
  6. 隐性限制:比如「不限流量但 5Mbps 带宽」「CPU 限 10%」。
bash
# 买之前先测 IP 通不通(本地执行)
ping -c 10 商家提供的测试IP
curl -o /dev/null -s -w "%{http_code}\n" http://测试IP --max-time 5

六、拿到机器先做什么

开箱三件事,确认没问题再正式用:

bash
# 1. 看配置是不是对得上(虚标很常见)
lscpu | grep -E "CPU\(s\)|Model"
free -h
df -h

# 2. 测网络质量
curl -sL yabs.sh | bash    # 综合跑分脚本,含磁盘和网络

# 3. 按本系列的「服务器初始化」清单加固

七、什么时候该升级

出现这些信号再考虑加配置:

  • 内存常年 > 80%,且 swap 被大量使用;
  • 负载均值持续高于核数;
  • 磁盘剩余 < 20% 且日志已清理;
  • 月流量接近上限。
bash
# 一周看一次这几个数就够了
free -h | head -2
cat /proc/loadavg
df -h /
vnstat -m    # 月流量统计(需安装 vnstat)

别为了「以后可能用到」提前买高配。不够了再加,云服务器的扩容成本远低于长期闲置成本。