如何科学地给VPS进行测速

在选择VPS时,很多用户习惯使用网络上流传的“VPS测速脚本”。然而VPS工具网并不推荐这种做法,原因有以下几点:

为什么不推荐使用网络上的测速脚本?

  • 安全性问题:这些脚本往往来自不知名的个人网站,直接通过 curlwget 下载并执行 Bash 脚本是非常不明智的做法。即使脚本托管在 GitHub 上,仍然不应该百分之百信任,因为最终背后还是人。
  • 更新频率慢:这些脚本的更新频率往往远不及主流 Linux 包管理系统中的 benchmark 工具。例如,sysbench 就已经足够满足我们对 CPU、磁盘 IO、内存的测试需求,不需要额外依赖这些三方脚本。
  • 测量不准确:一些脚本通过简单查询 /proc/cpuinfo 来统计 CPU 核心数,错误地将其作为“CPU 测速”,显示出脚本作者对服务器性能测试的浅薄理解。尽管如此,这些低质量的工具却常常出现在很多 VPS 推荐清单中。

我个人也不依赖任何厂商提供的测速(Speedtest)节点。并不是说厂商故意作弊(虽然这在一些小厂商中可能发生),而是因为测试节点的配置往往不透明,且无法验证是否具备代表性。这些节点有时还可能受到 IP 暴露带来的干扰,因此它们的测速结果往往不具备实际意义。

相反,我更倾向于自己购买 VPS 进行测速,先测再用。这种做法虽然笨拙,但更为可靠。

磁盘 IO、CPU、内存性能测试

对于性能测试,sysbench 是一款非常实用的工具,能够帮助我们测试 CPU、磁盘 IO、内存等性能。其使用方法非常简单,可以通过 sysbench --help 获取详细说明,或者参考 这篇教程

以磁盘 IO 测速为例,下面是一个常用的命令:

sysbench fileio prepare
sysbench fileio --file-test-mode=rndrw run

国内某云计算厂深圳节点(4 核 8GB 内存)的测试结果:

File operations:
    reads/s:                      718.79
    writes/s:                     479.19
    fsyncs/s:                     1522.55

Throughput:
    read, MiB/s:                  11.23
    written, MiB/s:               7.49

General statistics:
    total time:                          10.0003s
    total number of events:              27217

Latency (ms):
         min:                                  0.00
         avg:                                  0.37
         max:                                 25.48
         95th percentile:                      0.97
         sum:                               9978.72

Threads fairness:
    events (avg/stddev):           27217.0000/0.00
    execution time (avg/stddev):   9.9787/0.00

硅谷某知名 VPS 供应商(单核 2GB 内存)测试结果:

File operations:
    reads/s:                      4249.99
    writes/s:                     2833.39
    fsyncs/s:                     9066.85

Throughput:
    read, MiB/s:                  66.41
    written, MiB/s:               44.27

General statistics:
    total time:                          10.0079s
    total number of events:              161523

Latency (ms):
         min:                                    0.00
         avg:                                    0.06
         max:                                    5.16
         95th percentile:                        0.16
         sum:                                 9923.94

Threads fairness:
    events (avg/stddev):           161523.0000/0.00
    execution time (avg/stddev):   9.9239/0.00

VPS厂商的磁盘IO速度我认为是很能说明问题的,因为磁盘IO直接决定绝大多数应用的基础性能,服务商的技术架构、销售模式、管理水平多少都体现在上面了。上面的结果虽然只是单次测速,但它是一个让VPS用户无法忽视的结果,这种情况也是很多时候做VPS推荐容易翻车的原因,VPS分了多少个CPU核心,多少G内存,多少G硬盘是可见的,而其它很多东西对普通用户来说就不是这么一目了然了,这就是很多VPS老玩家挂在嘴边的“这行的水很深”。

网络测速

  • 本机 Ping:判断一台 VPS 服务器是否适合架设某些应用,最直接的方法是在 24 小时内取几个时间点从本机多次 Ping 该 VPS(确保服务器的 ICMP 协议已打开),观察延迟和 Ping 通率。延迟过高(>250ms)或 Ping 通率过低(<80%)的服务不建议考虑。
  • 本机 SSH:SSH 连接质量决定你的 VPS 以后管理起来方不方便,网络干扰是一个很大的变量。笔者曾经遇到过 Ping 连接正常但 SSH 一连接就掉线的 VPS,也有几个月都不掉线的 VPS。
  • SCP / SFTP 下载:在 VPS 上创建一个大文件,使用 SCP 或 SFTP 进行下载。由于 SCP/SFTP 是基于 SSH 加密链路的,因此它更接近实际网络传输情况,可以作为可靠的测速方式。如果下载速度低于 640KB/s,则可能无法顺畅观看 720P 流媒体视频。
  • SCP / SFTP 上传:如果你打算将 VPS 用作网盘,上传速度同样是一个不容忽视的因素。通过 SCP 或 SFTP 进行上传测试,可以验证 VPS 的上传能力。你也可以通过客户端工具如 WinSCP 来完成测试。

综合测速

在完成以上单项测试后,你可以进一步对 VPS 进行应用级别的综合测速。

  • Web 服务性能测试:如果是搭建网站,你可以使用 WebPageTestGTMetrixChinaZ 等工具进行网站测速。但要注意,影响网站加载速度的因素很多,服务器性能只是其中之一。确保你理解这一点。
  • 非 HTTP 协议应用测试:如果你的应用不依赖于 HTTP 协议,那么你应该使用对应的客户端进行实际的应用性能测试。通过真实的操作来观察 VPS 与应用之间的匹配度。

笔者通常会在多台候选 VPS 上部署相同的应用,进行对比测试,最终选择表现最优的一台来购买。

标签: VPS测速, 磁盘IO测试, 系统性能测试, 网络性能, 性能优化

相关文章

ChatGPT作为一款强大的自然语言处理工具,被广泛应用于智能客服、内容生成等多个领域,随着ChatGPT4o在2024年的发布,更是成为许多人的工作必备。为了保证ChatGPT的高效运行,不因...

在平时测试VPS时,我们常常需要使用各种脚本来评估其性能。为了方便自己和大家,我整理了以下几个常用的VPS性能测试脚本,供参考使用。综合测试脚本这些脚本能一键测试VPS的基础信息、硬盘IO、带宽...

VPS工具网为各位工程师们汇总了8种测试VPS ping值的最佳方法,具体明细如下:1. 17ce网站地址:http://17ce.com/功能:主要用来测试国内各地市、香港、台湾,以及少量国外...

当购买VPS后,很多人都非常好奇该VPS在CPU、硬盘、网络等方面的表现。为了方便自己日后的使用,也为大家提供一些常用的VPS测试脚本和程序。本文列出的一些测试工具和脚本,可能不是非常全面,但我...

在管理和优化服务器时,选择合适的网络性能测试工具是至关重要的。本篇文章VPS工具将为大家介绍几款常用的网络性能测试工具,这些工具不仅可以帮助你评估带宽、延迟、IO性能,还可以对不同地区的网络节点...

添加新评论