把两个 VPS 套餐并排放在一起,配置行常常看起来一模一样:4 vCPU、8 GB 内存、NVMe、1 Gbit/s、不限流量。然后其中一个把你的应用跑得很顺,另一个每天晚上都卡顿。配置行并没有撒谎,准确地说,它只是省略了真正重要的那部分。
本文讲的是在 VPS 这一类里比较套餐。如果你还在犹豫 VPS 是否是合适的主机类型,请先看 VPS、共享主机、独立服务器还是云。
vCPU:上限,而不是保证
这是隐藏信息最多的一个词。在大多数 VPS 平台上,vCPU 是一个物理核心时间的一片,和其他客户的时间片一起调度。套餐里的数字表示突发时你能同时用多少个。能不能让它们全部连续几小时保持 100 %,是另一个问题,答案(如果有的话)写在合理使用政策里。
我们对自己的套餐说得具体一点,因为含糊正是出问题的根源:vCPU 数量是短时突发的上限,不是独占的物理核心,长时间满载的 CPU 可能会被限速,以保证同一台机器上每个人的公平。对网站应用、机器人、智能体和数据库来说,这几乎感觉不到。连续几小时做视频编码就能感觉到。
购买前该问:vCPU 数量是保证的还是突发的,长时间负载下会怎样?购买后该查:vmstat 里的 st(steal)一列。如果 steal 稳定在两位数,说明你在等别人的任务。
内存:唯一诚实的数字
内存是最没有解读空间的配置。8 GB 就是 8 GB。唯一的问题是套餐够不够你的负载用,以及服务商是否超售,后者会表现为莫名其妙的 swap。如果你不确定需要多少,什么时候真的需要 64 GB 内存 讲了如何把内存问题和磁盘、CPU 问题区分开。
NVMe:是接口,不是速度
NVMe 是一种存储接口,比老的 SATA 快得多。但标签不会告诉你有多少台服务器共用同一组磁盘,也不会告诉你每台服务器有没有 I/O 上限。一个套餐可以写着 NVMe,负载下却只给出一般的吞吐。我们所有套餐都使用 NVMe;但我们还是更希望你自己测一测,而不是只听我们说。
磁盘大小比人们想象的更重要。一个数据库、日志再加几个 Docker 镜像,吃掉 15 GB 的速度比你想的快,而套餐只能原地升级,所以请选你半年后需要的磁盘。
“1 Gbit/s”:端口速率,不是吞吐量
这是你的服务器和交换机之间连接的速率。它并不承诺你到任何地方都总能拿到一千兆。实际能拿到多少,取决于上行链路有多忙,以及到对端的路径。
我们的数字供参考:Linux 套餐是 1 Gbit/s 端口,Windows 套餐是 150 Mbit/s。线路空闲时,一台 Linux 服务器每个方向约 940 Mbit/s;多台服务器同时繁忙时,线路在正在发送数据的服务器之间平均分配。细节,包括怎样做一个不会骗你的测速,见 流量与速度。
“不限流量”:没有配额,不是没有限制
不限流量意味着没人统计你用了多少 TB,也不会在用完每月额度后降速。它不代表速度不限:上面说的端口和公平份额依然有效。看到“不限带宽”要格外小心。它通常的意思是没有配额加一条合理使用条款,真正的限制就藏在这条条款里。
配置表上没有的那几行
套餐之间一些最大的差别,根本不出现在标题里:
- 是否包含 IPv4。 没有自己 IPv4 的套餐无法在 IPv4 上托管网站。这里,8 美元的 Small 是 NAT,16 美元的 Small-IP 配置相同、有自己的地址;一个转发端口能做什么、不能做什么 讲了实际差别。
- 备份。 已包含、付费附加,还是你自己的事。
- 计费周期。 这里年付比月付便宜 10 %。
- 位置。 我们的服务器在德国和芬兰。选离你的用户、或离你的机器人调用的 API 最近的那个。
- 调整配置。 能不能原地升级,需要多久?能不能降级?
比较价格时别骗自己
用价格除以内存 GB 数很诱人,但大多会误导你。一个按 GB 算很便宜、却没有 IPv4、备份另收费、磁盘又小的套餐,把你真正需要的东西加上之后,可能比那个“贵”的还贵。在两边搭出同样完整的配置,包括地址、备份和你会用到的磁盘,然后比较这套配置的月总价。
在第一个小时里检查新服务器
大多数服务商都能让你低成本试用。第一个小时用来测量,而不是安装:
nproc && lscpu | grep 'Model name'
vmstat 1 30 # watch the st column
fio --name=rand --rw=randread --bs=4k --size=1G --runtime=30 --time_based --direct=1
iperf3 -c <a test server near you> -P 4 -t 20
晚上高峰时段再跑一遍同样的命令。如果数字一塌糊涂,你只花了很少的钱就发现了。
这些方法不适用的地方
配置表说不出客服怎么样、服务商如何处理滥用投诉,也说不出硬件坏了会怎样。一个小时里的测量预测不了下个月。而对有些负载来说,这些都无关紧要:跑在 Nano 上的 Telegram 机器人分辨不出好磁盘和极好的磁盘。比较花多少力气,要和风险相称。3 美元的机器人,选个合理的就往前走。生产数据库,就要测试。
评论
暂无评论。来做第一个吧。