CPU、内存、硬盘怎么选?超售怎么防?买回来怎么验货?——基于主流评测站点实测数据的建站硬选型手册。
很多人买 VPS 时盯着"几核几G"看,但建站场景下真正决定体验的是三个硬件维度的组合表现:
网络(带宽/延迟/路由)是第四维,但网络好不好跟硬件配置表无关,需要单独测。本文先讲硬件,网络留在后续专题。
核心结论:建站瓶颈通常是内存和磁盘 I/O,CPU 反而是最容易"够用"的维度。
| 站点类型 | 建议 CPU | 理由 |
|---|---|---|
| 博客 / 小站(< 1 万 PV/天) | 1 核 | 单核主频 > 2GHz 即可,PHP 是单线程密集 |
| 中型站点 / 多站点 | 2 核 | 支持 Nginx + PHP-FPM 并发,加缓存后完全够用 |
| 高流量 / 多应用 | 4 核+ | 需要同时跑数据库+缓存+反向代理才需要 |
← 滑动查看完整内容 →
很多便宜 VPS 用 Intel Xeon E5-2600 v2/v3 系列(发布于 2013-2015 年),标着"16 核"但实际单核性能只有新 CPU 的 30-40%。
怎么看 CPU 世代?买之前问客服要 CPU 型号,或用 lscpu | grep "Model name" 看实际型号。常见好 U 参考:
| 内存配置 | 适用场景 | 备注 |
|---|---|---|
| 512 MB | 仅静态站 | 要配 swap,勉强能用,不推荐 |
| 1 GB | 小 WordPress | Nginx + MariaDB + PHP,紧张但可行 |
| 2 GB | 推荐起步 | 中等 WordPress,有余量跑 Redis |
| 4 GB+ | 多站点 / Docker | 数据库大或容器化部署 |
← 滑动查看完整内容 →
MariaDB/MySQL 是内存大户。512MB 机器跑数据库,OOM(内存溢出被杀)是日常操作。如果预算只能买 1GB,务必:
innodb_buffer_pool_size 设为 64-128M)vm.swappiness=10)| 磁盘类型 | 顺序读写 | 随机 4K IOPS | 建站推荐度 |
|---|---|---|---|
| HDD 机械盘 | 100-150 MB/s | 100-200 | ❌ 建站别碰 |
| SATA SSD | 400-550 MB/s | 5000-10000 | △ 够用 |
| NVMe SSD | 1000-3500 MB/s | 50000+ | ★ 首选 |
← 滑动查看完整内容 →
WordPress 每次页面渲染都要读数据库(MySQL)、读文件(主题/插件)、写缓存。这些操作本质是大量小文件随机读写,对 IOPS 敏感而不是顺序速度。
NVMe 的随机 4K IOPS 是 SATA SSD 的 5-10 倍,这就是为什么同样"都是 SSD",NVMe 机器开 WordPress 后台明显更跟手。
超售的本质是一家物理机上跑了远超设计数量的 VPS 实例,邻居会抢占你的 CPU、内存、磁盘 I/O 和带宽。
判断标准:月付 < 50 元大概率超售,年付 < 300 元高风险。
① top/htop 看空闲时占用
SSH 进去跑 top,啥都不干时观察:CPU load average > 核数 = 邻居在抢 CPU;内存 used > 50%(不含 cache)= 实际给你的不多。
② fio 测磁盘 I/O(最有效)
fio --name=randrw --ioengine=libaio --iodepth=64
--rw=randrw --bs=4k --direct=1
--size=1G --numjobs=1 --runtime=60 --group_reporting
看随机写入 IOPS:SSD < 3000 或 NVMe < 10000 有问题;随机写入吞吐 SSD < 20 MiB/s、NVMe < 100 MiB/s 基本是被邻居挤爆了。
③ dd 快速初筛
dd if=/dev/zero of=test bs=1G count=1 oflag=direct
顺序写入速度:SSD < 300 MB/s 要警惕,NVMe < 1000 MB/s 说明宿主机超售厉害。
④ stress 压 CPU
apt install stress -y && stress --cpu $(nproc) --timeout 60s
同时另开窗口跑 top,看 CPU 能不能跑到 100%。如果长期锁在 50% 上下,商家在单核限速。
⑤ 看测试 IP 同段邻居数
用 IP2Location 或 whois 查你的 IP 属于哪个 /24 段,再用 Censys 搜同段活跃服务器数。1 个 /24 里有 30+ 台,说明这台物理机已经挤满。
| 对比维度 | 超售 VPS | 正常波动 |
|---|---|---|
| 持续时间 | 每天高峰期必卡 | 偶尔出现,很快恢复 |
| 空闲时资源占用 | CPU/内存长期高占用 | 高负载时才升高 |
| 带宽波动 | 高峰期跌 > 50% | 波动 ≤ 20%,很快恢复 |
| 同段邻居数 | ≥ 30 台 /24 | ≤ 10 台 /24 |
← 滑动查看完整内容 →
不用追求"最好的线路",要追求对目标用户最快的线路:
| 访客主体 | 推荐机房 | 理由 |
|---|---|---|
| 中国大陆 | 国内备案服务器 | 延迟最低,合规 |
| 大陆 + 不想备案 | 香港 / 美国 CN2 GIA | 电信走 AS4809 |
| 东南亚 / 海外华人 | 新加坡 BGP / 香港 PCCW | 区域均衡 |
| 全球用户 | 美西 + Cloudflare CDN | 带宽大,CF 边缘缓存 |
← 滑动查看完整内容 →
简单公式:峰值 QPS × 单次请求大小 × 8 = 所需 Mbps
举例:100 并发 × 500KB 页面 = 50MB/s = 400Mbps。一般小站 wp 页面 200-500KB,100 并发约需 40-80Mbps。建站最少给:国内 5Mbps / 海外共享口 50Mbps / 海外独口 1Gbps。
VPS 在香港/美国、网站打开慢,不要先换 VPS,先上 Cloudflare:
VPS 跑路、数据丢光的概率 > 硬件坏了。3-2-1 备份原则:
实操:WordPress 用 UpdraftPlus 自动备份到 Google Drive / OSS / COS;数据库单独 daily dump。
# 1. SSH 禁用 root 密码 + 改端口
/etc/ssh/sshd_config 中:
PermitRootLogin no
PasswordAuthentication no
Port 2233
# 2. 防火墙只开必要端口
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 2233/tcp
# 3. Fail2ban 防暴力破解
apt install fail2ban
# 4. 自动安全更新
apt install unattended-upgrades