如何对云服务器进行基准测试

云服务提供商通常通过分配的资源来定义主机层,但底层硬件、架构和性能调优方面的差异可能导致即使在相似配置之间也存在不同的功能。

但是如何对云服务器进行基准测试?

衡量服务器之间真正差异的最简单方法是运行一组测试,即基准测试,以创建易于读取的值进行比较。

准备对云服务器进行基准测试

对云服务器进行基准测试有助于量化规范背后的实际性能,但获得可比较结果的一个重要部分是消除尽可能多的可能影响基准的变量。例如:

  • 在每台服务器上使用相同的操作系统。
  • 将软件更新到最新版本。
  • 检查后台是否没有资源匮乏的进程。

充分设置服务器后,您就可以开始进行第一个云服务器基准测试了。继续下面有关如何评估 CPU 和 RAM 性能的说明。

Geekbench 3

Geekbench 3 是最受欢迎的跨平台处理器基准测试工具之一。它提供了一个标准化的评分系统,可以将单核和多核结果分开,以便更好地进行比较。

在您的服务器上运行 Geekbench 是一个非常简单的过程,但您需要事先安装几个依赖项。免费版只有 32 位;因此,您的 64 位服务器将需要额外的运行时库。

Ubuntu

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libstdc++6:i386

Debian

sudo dpkg --add-architecture i386
sudo aptitude update
sudo aptitude install libc6:i386 libstdc++6:i386

CentOS

sudo yum install wget glibc.i686 libstdc++ libstdc++.i686

满足先决条件后,继续下载基准测试包。在良好的网络上,下载几乎是即时的,但无论如何都不会花很长时间。

wget http://cdn.primatelabs.com/Geekbench-3.4.1-Linux.tar.gz ~/

最后,您可以使用以下命令运行基准测试。

./geekbench

Geekbench 3 执行一系列测试以测量整数和浮点任务的 CPU 性能,并收集内存带宽数据以评估系统内存。完成后,您将看到类似于下面示例的输出。

在 Web 浏览器中打开第一个链接以查看结果。或者,如果您在 Geekbench 网站上注册,则可以使用第二个链接将结果声明到您的个人资料中。声明结果允许您稍后保存和比较分数。

Upload succeeded. Visit the following link and view your results online:

 http://browser.primatelabs.com/geekbench3/6088030

Visit the following link and add this result to your profile:

 http://browser.primatelabs.com/geekbench3/claim/6088030?key=

总分直接与 CPU 性能一一对应;双倍分数意味着双倍性能。评分系统根据基准分数 2500 进行校准,这是英特尔酷睿 i5-2520M @ 2.50 GHz 的结果。

fio

云服务器整体性能的很大一部分来自存储设备的读写速度。用于此目的的一个不错的选择是fio,它是一种可在多种平台上使用的 I/O 基准测试和压力测试工具。使用以下适用于您系统的命令安装 fio

Debian 和 Ubuntu

sudo apt-get install fio

CentOS

sudo yum install wget libaio libibverbs librdmacm librbd1-devel
wget https://kojipkgs.fedoraproject.org/packages/fio/2.2.8/2.el7/x86_64/fio-2.2.8-2.el7.x86_64.rpm ~/
sudo rpm -iv ~/fio-2.2.8-2.el7.x86_64.rpm

IOPS 是每秒输入/输出操作的测量单位,是存储设备常用的性能指标。测试 IOPS 的常用方法是执行随机读写操作,使用 fio 可以使用以下三个示例来完成。

随机读取性能

fio --name=randrw --ioengine=libaio --direct=1 --bs=4k --iodepth=64 --size=4G --rw=randrw --rwmixread=75 --gtod_reduce=1

随机写入性能

fio --name=randread --ioengine=libaio --direct=1 --bs=4k --iodepth=64 --size=4G --rw=randread --gtod_reduce=1

与 Geekbench 得分一样,IOPS 越高,存储速度越快。作为比较,标准的 7,200 rpm SATA 驱动器 HDD 的得分为 75-100 IOPS。

fio --name=randwrite --ioengine=libaio --direct=1 --bs=4k --iodepth=64 --size=4G --rw=randwrite --gtod_reduce=1

IOPing

另一种衡量存储性能的方法是测量单个请求的延迟。IOPing 是一个简单的工具,可以做到这一点。它运行对存储设备的 I/O 请求以基准响应时间。结果显示磁盘延迟的方式与ping测试测量网络延迟的方式相同。

Debian 和 Ubuntu

wget https://launchpad.net/ubuntu/+archive/primary/+files/ioping_0.9-2_amd64.deb ~/
sudo dpkg -i ~/ioping_0.9-2_amd64.deb

CentOS

wget https://kojipkgs.fedoraproject.org/packages/ioping/0.9/1.el7/x86_64/ioping-0.9-1.el7.x86_64.rpm ~/
sudo rpm -iv ~/ioping-0.9-1.el7.x86_64.rpm

然后使用以下命令运行测试。

ioping -c 10 .

输出将显示类似于下面的示例的内容。时间显示以微秒为单位的 I/O 延迟。

4 KiB from . (ext4 /dev/vda1): request=1 time=78 us
4 KiB from . (ext4 /dev/vda1): request=2 time=175 us
4 KiB from . (ext4 /dev/vda1): request=3 time=167 us
4 KiB from . (ext4 /dev/vda1): request=4 time=174 us
4 KiB from . (ext4 /dev/vda1): request=5 time=168 us
4 KiB from . (ext4 /dev/vda1): request=6 time=185 us
4 KiB from . (ext4 /dev/vda1): request=7 time=179 us
4 KiB from . (ext4 /dev/vda1): request=8 time=178 us
4 KiB from . (ext4 /dev/vda1): request=9 time=177 us
4 KiB from . (ext4 /dev/vda1): request=10 time=195 us
--- . (ext4 /dev/vda1) ioping statistics ---
10 requests completed in 9.00 s, 5.97 k iops, 23.3 MiB/s
min/avg/max/mdev = 78 us / 167 us / 195 us / 30 us

延迟数衡量响应延迟,这意味着延迟越低,性能越好。

结论

如何对云服务器进行基准测试?云服务器基准测试工具是比较云服务提供商之间性能的一种非常方便的方法。无论可用的操作系统如何,它们都易于使用且易于使用。当在真正有能力的硬件上运行时,对性能要求很高的 Web 应用程序可能会看到服务质量的显着差异,但即使您不担心数字,您仍然应该知道您的钱得到了什么。

Z2ER大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除,若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与Z2ER无关。本站发布的内容若侵犯到您的权益,请联系z2er@z2er.com删除,将及时处理!
Z2ER » 如何对云服务器进行基准测试