相同CPU下的 指令数 基本= 耗时 IPC 核数
以上测试结果显示Hygon 7280单核计算能力是要强过Intel 8163的,但是超线程在这个场景下太不给力,相当于没有。
当然上面的计算Prime太单纯了,代表不了复杂的业务场景,所以接下来用MySQL的查询场景来看看。
如果是arm芯片在计算prime上明显要好过x86,猜测是除法取余指令上有优化
1 taskset -c 11 sysbench cpu --threads=1 --events=50000 run 2 sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)
测试结果为10秒钟的event
测试项 | FT2500 2.1G | 鲲鹏920-4826 2.6GHz | Intel 8163 CPU @ 2.50GHz | Hygon C86 7280 2.1GHz | AMD 7T83 |
---|
单核 prime 10秒 events | 21626 IPC 0.89 | 30299 IPC 1.01 | 8435 IPC 0.41 | 10349 IPC 0.63 | 40112 IPC 1.38 |
对比 MySQL sysbench 和 tpcc 性能
分别将 MySQL 5.7.34 社区版部署到 inte l+ AliOS 以及 hygon 7280 + CentOS 上,将mysqld绑定到单核,一样的压力配置均将CPU跑到100%,然后用sysbench测试点查, HT表示将mysqld绑定到一对HT核。
sysbench点查
测试命令类似如下:
1 sysbench --test='/usr/share/doc/sysbench/tests/db/select.lua' --oltp_tables_count=1 --report-interval=1 --oltp-table-size=10000000 --mysql-port=3307 --mysql-db=sysbench_single --mysql-user=root --mysql-password='Bj6f9g96!@#' --max-requests=0 --oltp_skip_trx=on --oltp_auto_inc=on --oltp_range_size=5 --mysql-table-engine=innodb --rand-init=on --max-time=300 --mysql-host=x86.51 --num-threads=4 run