Online.net Pro-4-M 独立服务器IO Benchmark

很是喜欢online.net 家的服务,以为他们家都是使用的Dell 的服务器。

今天准备再增加一台服务器专门来管理服务器集群的时候,才发现online只有在中高端服务器上采用Dell EMC 和 Dell 的服务器,在中低端市场上已online labs 自己的服务器以及QTS 服务器为主,中端市场也有一部分是Supermicro 服务器。

因为主要是拿这台服务器做管理以及存放一些静态ISO镜像,所以需求的配置不要求高,300 GB 加 500GB SSD 就可以了,最好还是SuperMicro 主板,选来选去就只有Pro-4-M 符合条件了。OVH 倒是也有一些符合条件的,就是经过验证的OVH账号实在太难获得了.

和Pro-4-L 不同,这台机器带的SSD是三星的,型号是PM871b,用国内的话来说,是850 evo 的马甲。看来online 的服务器用家用级别的SSD 多一点

测试使用的程序:

wget -qO- bench.sh | bash

首先是在裸机上安装CentOS 测试.

----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz
Number of cores : 8
CPU frequency : 1099.945 MHz
Total size of Disk : 461.3 GB (1.5 GB Used)
Total amount of Mem : 64050 MB (485 MB Used)
Total amount of Swap : 8511 MB (0 MB Used)
System uptime : 0 days, 1 hour 24 min
Load average : 0.00, 0.01, 0.05
OS : CentOS 7.6.1810
Arch : x86_64 (64 Bit)
Kernel : 3.10.0-957.27.2.el7.x86_64
----------------------------------------------------------------------
I/O speed(1st run) : 427 MB/s
I/O speed(2nd run) : 427 MB/s
I/O speed(3rd run) : 427 MB/s
Average I/O speed : 427.0 MB/s

 

[root@sd ~]# hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 1554 MB in 3.00 seconds = 517.37 MB/sec
[root@sd ~]# hdparm -t /dev/sdb

/dev/sdb:
Timing buffered disk reads: 1356 MB in 3.00 seconds = 451.67 MB/sec
[root@sd ~]# hdparm -t /dev/sdc

/dev/sdc:
Timing buffered disk reads: 1348 MB in 3.00 seconds = 449.08 MB/sec

vCSA Hardware Requirements

在ESXi 6.7 上,使用vCSA 的话, tiny environment 是足够的. 但是在最新版本的vCSA 6.7中,总是会出现内存不足的warning。

经过一番google 知道了,VMWARE 在vCSA中主要使用的是Java,这是Java 的内存机制造成的,简单的解决办法就是直接增加vCSA 的内存. 在 ESXi 6.0 以后, vCSA 的内存是可以在VM 上直接更改的,这是很方便的事情。

另外如果服务器硬件足够,建议直接deploy 一个small 或者 medium environment 来直接解决这个问题。

下图是vCSA 的硬件需求,以后就不用每次都去翻官网了.

 

 

Small environment 都需要4 vCPU, 16 GB 的RAM,storage 也需要340GB, 最好是SSD

这个需求,说实话,真的比很多德利服务器的配置都高了。

不过幸好online.net, OVH 以及hetzner 这样的服务商的存在。。

推荐online.net 和OVH, 起码都是企业级的硬件和网络, hetzner 就要差点了

WebNX.com 服务器重新benchmark

和online.net 一样,前面的测试有点不太规范,这次有机会重新测试一下

机器配置和online.net 一样, E5 1650V3, 64GB RAM, 2 X 1TB SSD ( micron 5100 enterprise SSD)

测试使用的程序是:

wget -qO- bench.sh | bash

直接测试IO,使用的是下面的commands:

dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync && rm -f test_$$

直接在服务器裸机安装Centos 7,下面是测试结果:

[root@webnx ~]# hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 1422 MB in 3.00 seconds = 473.59 MB/sec
[root@webnx ~]# hdparm -t /dev/sdb

/dev/sdb:
Timing buffered disk reads: 1452 MB in 3.00 seconds = 483.80 MB/sec

[root@sda ~]# dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync && rm -f test_$$
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 2.75682 s, 389 MB/s

测试了几次,都在390 MB/s 左右

[root@sdb]# dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync && rm -f test_$$
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 2.75827 s, 389 MB/s

两块SSD 都是micron 的全新 1 TB SSD, 看来SSD 的速度就在400 MB/s 左右

用bench.sh的程序测试下:

----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 12
CPU frequency : 1199.920 MHz
Total size of Disk : 851.3 GB (1.5 GB Used)
Total amount of Mem : 64316 MB (564 MB Used)
Total amount of Swap : 30516 MB (0 MB Used)
System uptime : 0 days, 0 hour 8 min
Load average : 0.08, 0.05, 0.03
OS : CentOS 7.7.1908
Arch : x86_64 (64 Bit)
Kernel : 3.10.0-1062.4.1.el7.x86_64
----------------------------------------------------------------------
I/O speed(1st run) : 391 MB/s
I/O speed(2nd run) : 388 MB/s
I/O speed(3rd run) : 389 MB/s
Average I/O speed : 389.3 MB/s
----------------------------------------------------------------------

依然在390MB/s左右, micron 的SSD的表现要差于intel 和 samsung的SSD

下面看看在ESXi 6.7 上使用native drive 的表现:

Centos 7 with LVM

----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 4
CPU frequency : 3499.997 MHz
Total size of Disk : 27.0 GB (1.3 GB Used)
Total amount of Mem : 3950 MB (165 MB Used)
Total amount of Swap : 3071 MB (0 MB Used)
System uptime : 0 days, 0 hour 6 min
Load average : 0.16, 0.10, 0.06
OS : CentOS 7.6.1810
Arch : x86_64 (64 Bit)
Kernel : 3.10.0-957.el7.x86_64
----------------------------------------------------------------------
I/O speed(1st run) : 469 MB/s
I/O speed(2nd run) : 466 MB/s
I/O speed(3rd run) : 468 MB/s
Average I/O speed : 467.7 MB/s
----------------------------------

可以看到这个这个数据非常的好,基本接近原生SSD 的表现了

下面是Centos 7 without LVM

----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 4
CPU frequency : 3499.997 MHz
Total size of Disk : 26.3 GB (2.3 GB Used)
Total amount of Mem : 3950 MB (150 MB Used)
Total amount of Swap : 3813 MB (0 MB Used)
System uptime : 0 days, 0 hour 1 min
Load average : 0.58, 0.23, 0.08
OS : CentOS 7.6.1810
Arch : x86_64 (64 Bit)
Kernel : 3.10.0-957.el7.x86_64
----------------------------------------------------------------------
I/O speed(1st run) : 458 MB/s
I/O speed(2nd run) : 457 MB/s
I/O speed(3rd run) : 460 MB/s
Average I/O speed : 458.3 MB/s

Centos 7 with LVM and standard partition mounted on /sata,

----------------------------------------------------------------------
I/O speed(1st run) : 452 MB/s
I/O speed(2nd run) : 456 MB/s
I/O speed(3rd run) : 461 MB/s
Average I/O speed : 456.3 MB/s
----------------------------------------------------------------------

/data上, SSD 的IO 也会降速,需要很长一段时间才能恢复满速

在Debian上测试一下(无论LVM还是standard partition结果都一样):

----------------------------------------------------------------------
----------------------------------------------------------------------
CPU model            : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores      : 4
CPU frequency        : 3499.997 MHz
Total size of Disk   : 94.2 GB (13.1 GB Used)
Total amount of Mem  : 4044 MB (129 MB Used)
Total amount of Swap : 4191 MB (0 MB Used)
System uptime        : 0 days, 0 hour 9 min
----------------------------------------------------------------------
CPU model            : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores      : 4
CPU frequency        : 3499.997 MHz
Total size of Disk   : 94.2 GB (13.1 GB Used)
Total amount of Mem  : 4044 MB (129 MB Used)
Total amount of Swap : 4191 MB (0 MB Used)
System uptime        : 0 days, 0 hour 15 min
Load average         : 0.02, 0.13, 0.14
OS                   : Debian GNU/Linux 10
Arch                 : x86_64 (64 Bit)
Kernel               : 4.19.0-6-amd64
----------------------------------------------------------------------
I/O speed(1st run)   : 456 MB/s
I/O speed(2nd run)   : 457 MB/s
I/O speed(3rd run)   : 462 MB/s
Average I/O speed    : 458.3 MB/s
----------------------------------------------------------------------
Node Name                       IPv4 address            Download Speed
CacheFly                        205.234.175.175         109MB/s
Linode, Tokyo2, JP              139.162.65.37           22.3MB/s
Linode, Singapore, SG           139.162.23.4
Linode, London, UK              176.58.107.39           16.4MB/s
Linode, Frankfurt, DE           139.162.130.8           15.1MB/s
Linode, Fremont, CA             50.116.14.9             74.5MB/s
Softlayer, Dallas, TX           173.192.68.18           51.5MB/s
Softlayer, Seattle, WA          67.228.112.250          57.1MB/s
Softlayer, Frankfurt, DE        159.122.69.4            14.0MB/s
Softlayer, Singapore, SG        119.81.28.170           10.8MB/s
Softlayer, HongKong, CN         119.81.130.170          12.7MB/s
----------------------------------------------------------------------
----------------------------------------------------------------------

在Debian上,有的时候速度会降到200MB/s, 但是需要很长一段时间来恢复

下面来看看回退ssd 的driver 以后的表现:

回退driver以后,Debian 10 with LVM or without LVM

----------------------------------------------------------------------
CPU model            : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores      : 4
CPU frequency        : 3499.997 MHz
Total size of Disk   : 94.2 GB (13.1 GB Used)
Total amount of Mem  : 4044 MB (142 MB Used)
Total amount of Swap : 4191 MB (0 MB Used)
System uptime        : 0 days, 12 hour 13 min
Load average         : 0.00, 0.00, 0.00
OS                   : Debian GNU/Linux 10
Arch                 : x86_64 (64 Bit)
Kernel               : 4.19.0-6-amd64
----------------------------------------------------------------------
I/O speed(1st run)   : 456 MB/s
I/O speed(2nd run)   : 461 MB/s
I/O speed(3rd run)   : 459 MB/s
Average I/O speed    : 458.7 MB/s

在测试中发现,SSD在standard partition上会降速,降速到200MB/s以后,会花费很长一段时间恢复到满速460MB/s, 但是在centos 7下,这个恢复是很快的

Centos 7 Standard Partition:

----------------------------------------------------------------------
I/O speed(1st run) : 455 MB/s
I/O speed(2nd run) : 457 MB/s
I/O speed(3rd run) : 457 MB/s
Average I/O speed : 456.3 MB/s
----------------------------------------------------------------------

Centos 7 with LVM:

----------------------------------------------------------------------
I/O speed(1st run) : 464 MB/s
I/O speed(2nd run) : 466 MB/s
I/O speed(3rd run) : 462 MB/s
Average I/O speed : 464.0 MB/s
----------------------------------------------------------------------

Centos 7 LVM with standard partition mounted on /data

----------------------------------------------------------------------
I/O speed(1st run) : 456 MB/s
I/O speed(2nd run) : 461 MB/s
I/O speed(3rd run) : 458 MB/s
Average I/O speed : 458.3 MB/s
----------------------------------------------------------------------

在测试中发现,即使会有短暂的降速到200MB/s, 也会很快的恢复到460MB/s 的满速

通过以上的测试可以看到,vmware 全新的native driver,基本上解决了micron ssd 的low IO performance 的问题

micron 的ssd 偶尔会降速到200 MB/s,但是基本是可以恢复满速的,只是时间有长有短的问题。

Online.net Pro-4-L 重新benchmark

前面的测试有点不太规范,这次又机会重新测试一下。

机器配置是Xeon E5 1650V3, 96GB RAM, 3X500GB SSD

测试使用的程序是:

wget -qO- bench.sh | bash

直接测试IO,使用的是下面的commands:

dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync && rm -f test_$$

直接在服务器裸机上安装Centos 7, 下面是测试结果:

[root@sd ~]# hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 1454 MB in 3.00 seconds = 484.53 MB/sec

[root@sd ~]# hdparm -t /dev/sdb

/dev/sdb:
Timing buffered disk reads: 1472 MB in 3.00 seconds = 490.04 MB/sec

[root@sd ~]# hdparm -t /dev/sdc

/dev/sdc:
iming buffered disk reads: 1470 MB in 3.00 seconds = 489.96 MB/sec
[root@sd sda~]# dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync && rm -f test_$$
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 2.65959 s, 404 MB/s

测试了几次,都在400 MB/s 左右

[root@sd sdb]# dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync && rm -f test_$$
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 2.69217 s, 399 MB/s
[root@sd sdc]# dd if=/dev/zero of=test_$$ bs=64k count=16k conv=fdatasync && rm -f test_$$
16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 2.70218 s, 397 MB/s

可以看到裸机直接测试的话,SSD 的IO 一般就在400 MB/s 左右

在Host上安装上Esxi 6.7 以后,分别测试Debian 9 和 Debian 10

Debian 9 测试结果:

----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 8
CPU frequency : 3495.142 MHz
Total size of Disk : 55.0 GB (0.9 GB Used)
Total amount of Mem : 3907 MB (92 MB Used)
Total amount of Swap : 4045 MB (0 MB Used)
System uptime : 0 days, 0 hour 11 min
Load average : 0.96, 0.28, 0.09
OS : Debian GNU/Linux 9
Arch : x86_64 (64 Bit)
Kernel : 4.9.0-9-amd64
----------------------------------------------------------------------
I/O speed(1st run) : 82.2 MB/s
I/O speed(2nd run) : 79.9 MB/s
I/O speed(3rd run) : 80.1 MB/s
Average I/O speed : 80.7 MB/s

Debian 10 测试结果:

----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 8
CPU frequency : 3495.951 MHz
Total size of Disk : 55.0 GB (1.0 GB Used)
Total amount of Mem : 3897 MB (150 MB Used)
Total amount of Swap : 4045 MB (0 MB Used)
System uptime : 0 days, 0 hour 25 min
Load average : 1.14, 0.31, 0.11
OS : Debian GNU/Linux 10
Arch : x86_64 (64 Bit)
Kernel : 4.19.0-5-amd64
----------------------------------------------------------------------
I/O speed(1st run) : 78.0 MB/s
I/O speed(2nd run) : 77.0 MB/s
I/O speed(3rd run) : 76.9 MB/s
Average I/O speed : 77.3 MB/s

本来以为Debian 10 有什么特殊科技呢,IO 测试和Debian 9 差不多

下面是重头戏,回退一些Esxi 的 ACHI 的driver,再来测试一下:

----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 8
CPU frequency : 3494.956 MHz
Total size of Disk : 55.0 GB (0.9 GB Used)
Total amount of Mem : 3907 MB (91 MB Used)
Total amount of Swap : 4045 MB (0 MB Used)
System uptime : 0 days, 0 hour 4 min
Load average : 0.22, 0.05, 0.02
OS : Debian GNU/Linux 9
Arch : x86_64 (64 Bit)
Kernel : 4.9.0-9-amd64
----------------------------------------------------------------------
I/O speed(1st run) : 301 MB/s
I/O speed(2nd run) : 299 MB/s
I/O speed(3rd run) : 303 MB/s
Average I/O speed : 301.0 MB/s

数据在350-370 之间乱跳

在Debian 10上,闲时IO 能到400 MB/s, 平时也基本就是300-350左右

----------------------------------------------------------------------
CPU model : Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz
Number of cores : 8
CPU frequency : 3495.951 MHz
Total size of Disk : 55.0 GB (2.0 GB Used)
Total amount of Mem : 3897 MB (148 MB Used)
Total amount of Swap : 4045 MB (0 MB Used)
System uptime : 0 days, 0 hour 21 min
Load average : 0.00, 0.01, 0.01
OS : Debian GNU/Linux 10
Arch : x86_64 (64 Bit)
Kernel : 4.19.0-5-amd64
----------------------------------------------------------------------
I/O speed(1st run) : 306 MB/s
I/O speed(2nd run) : 300 MB/s
I/O speed(3rd run) : 299 MB/s
Average I/O speed : 301.7 MB/s

Vultr VM Benchmark

测试使用程序为:

wget -qO- bench.sh | bash

下面是测试结果:

----------------------------------------------------------------------
CPU model : Virtual CPU 82d9ed4018dd
Number of cores : 1
CPU frequency : 2593.912 MHz
Total size of Disk : 55.0 GB (0.9 GB Used)
Total amount of Mem : 2004 MB (53 MB Used)
Total amount of Swap : 0 MB (0 MB Used)
System uptime : 0 days, 0 hour 3 min
Load average : 0.31, 0.18, 0.07
OS : Debian GNU/Linux 9
Arch : x86_64 (64 Bit)
Kernel : 4.9.0-9-amd64
----------------------------------------------------------------------
I/O speed(1st run) : 474 MB/s
I/O speed(2nd run) : 475 MB/s
I/O speed(3rd run) : 470 MB/s
Average I/O speed : 473.0 MB/s