测试硬件为
24 vCPU/48 GB Intel(R) Xeon(R) Gold 6266C CPU @ 3.00GHz for running MySQL on x86.
24 vCPU/48 GB ARM @ 2.60GHz for running MySQL on ARM
两种不同的硬件产品,测试是通过sysbench进行的,测试中数据经过预热,并且通过不同维度的包含OLTP 读写操作, UPDATE 操作中包含索引和不包含索引,以及只读操作等等来查看两种硬件在此的不同。
相关测试的表和配置如下
Table: 96-tables * 1.5 million (data-size= 34GB)
Buffer Pool: 36GB
Redo-Log: 4GB*2
TC-run-time: 300 secs
TC-warmup: 60 (sysbench –warmup-time)
workload-query-based warmup: 600
change-over-sleep: 180
checksum-based-warmup: enabled
data-storage: 300GB (support for 16500 IOPS (nullify effect of Burst IOPS)).
测试结果
1 简单查询
| threads | ARM (qps) | x86 (qps) | ARM (qps - fscaled (FS)) | % ARM-vs-x86 | % ARM (FS)-vs-x86 |
|---|---|---|---|---|---|
| 1 | 6696 | 6439 | 7726 | 4 | 20 |
| 2 | 12482 | 11774 | 14402 | 6 | 22 |
| 4 | 23881 | 21308 | 27555 | 12 | 29 |
| 8 | 45993 | 42110 | 53069 | 9 | 26 |
| 16 | 88517 | 81239 | 102135 | 9 | 26 |
| 32 | 142974 | 136724 | 164970 | 5 | 21 |
| 64 | 198839 | 212484 | 229430 | -6 | 8 |
| 128 | 217778 | 241555 | 251282 | -10 | 4 |
| 256 | 209797 | 224009 | 242073 | -6 |
8 |
分析:
在较低线程的情况下,ARM 要优于X86结构,在高负载的情况下,X86要优于ARM结构,同时在FS CPU 自动调整频率的情况下ARM 结构 比X86要优越。

| threads | ARM (qps) | x86 (qps) | ARM (qps - fscaled (FS)) | % ARM-vs-x86 | % ARM (FS)-vs-x86 |
|---|---|---|---|---|---|
| 1 | 5222 | 5259 | 6025 | -1 | 15 |
| 2 | 10333 | 10200 | 11923 | 1 | 17 |
| 4 | 19176 | 19349 | 22126 | -1 | 14 |
| 8 | 36881 | 37035 | 42555 | 0 | 15 |
| 16 | 70337 | 67065 | 81158 | 5 | 21 |
| 32 | 109207 | 113210 | 126008 | -4 | 11 |
| 64 | 139294 | 164148 | 160724 | -15 | -2 |
| 128 | 151382 | 175872 | 174672 | -14 | -1 |
| 256 | 149136 | 164382 | 172080 | -9 | 5 |
结果分析:
ARM 结构在定频的方式下与X86性能相近,但在FS的情况下,ARM结构产品要优于X86的产品。

| threads | ARM (tps) | x86 (tps) | ARM (tps - fscaled (FS)) | % ARM-vs-x86 | % ARM (FS)-vs-x86 |
|---|---|---|---|---|---|
| 1 | 137 | 149 | 158 | -8 | 6 |
| 2 | 251 | 273 | 290 | -8 | 6 |
| 4 | 462 | 502 | 533 | -8 | 6 |
| 8 | 852 | 920 | 983 | -7 | 7 |
| 16 | 1539 | 1678 | 1776 | -8 | 6 |
| 32 | 2556 | 2906 | 2949 | -12 | 1 |
| 64 | 3770 | 5158 | 4350 | -27 | -16 |
| 128 | 5015 | 8131 | 5787 | -38 | -29 |
| 256 | 5676 | 8562 | 6549 | -34 | -24 |
结果分析:
在读写模式下, ARM 结构比较X86结构都有一定的差距。
4 update 带索引的情况

| threads | ARM (tps) | x86 (tps) | ARM (tps - fscaled (FS)) | % ARM-vs-x86 | % ARM (FS)-vs-x86 |
|---|---|---|---|---|---|
| 1 | 328 | 373 | 378 | -12 | 1 |
| 2 | 623 | 768 | 719 | -19 | -6 |
| 4 | 1060 | 1148 | 1223 | -8 | 7 |
| 8 | 1905 | 2028 | 2198 | -6 | 8 |
| 16 | 3284 | 3590 | 3789 | -9 | 6 |
| 32 | 5543 | 6275 | 6396 | -12 | 2 |
| 64 | 9138 | 10381 | 10544 | -12 | 2 |
| 128 | 13879 | 16868 | 16014 | -18 | -5 |
| 256 | 19954 | 25459 | 23024 | -22 | -10 |
结果分析:
在FS 模式下的ARM结构对比X86的结果相近,在高并发的情况下还是有一定的差距。
5 Update 不带索引的情况



