作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Associate: Database(Oracle与MySQL)
PostgreSQL ACE Partner
青学会(青年数据库学习互助会)外部顾问
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、认证技术专家、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,OceanBase观察团成员
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著 名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭
上一期基础测完过后,思考了一下发现了一些问题
虽然软RDMA(Soft-RoCE)性能肯定不如硬件RDMA环境,加上没有针对操作系统和软件进行深度优化,使用fio也没有如perftest(专门针对RDMA的测试工具)测试那么充分利用RDMA特性。而软RDMA环境主要还是用于测试、对接RDMA的,故测试结果均仅供参考。
这里把文件从512MB增加到2GB,进程数(numjobs)也分别调整至N为1、2、4、6、8:
#顺序写fio --iodepth=128 --numjobs=N --size=2GB --norandommap --readwrite=write --bs=8k --filename=/mnt/write.txt --runtime=120 --time_based --ioengine=libaio --direct=1 --group_reporting --name=write#顺序读fio --iodepth=128 --numjobs=N --size=2GB --norandommap --readwrite=read --bs=8k --filename=/mnt/read.txt --runtime=120 --time_based --ioengine=libaio --direct=1 --group_reporting --name=read#随机写fio --iodepth=128 --numjobs=N --size=2GB --norandommap --readwrite=randwrite --bs=8k --runtime=120 --time_based --filename=/mnt/randwrite.txt --ioengine=libaio --direct=1 --group_reporting --name=rand_write#随机读fio --iodepth=128 --numjobs=N --size=2GB --norandommap --readwrite=randread --bs=8k --runtime=120 --time_based --filename=/mnt/randread.txt --ioengine=libaio --direct=1 --group_reporting --name=rand_read
由于截图较多,这里就不贴出对应截图,仅输出对比结果:
这里可以看到,调整fio的测试参数后,顺序读写的场景下RDMA的性能大幅弱于TCP/IP,这应该就是软RDMA和虚拟化带来的问题。当然在随机读写场景下,也就是数据库的运行场景下,即便是软RDMA还是能带来不俗的性能提升,尤其是在更多进程占用CPU时,RDMA绕过CPU及操作系统内核的特性发挥出了其优势。
经过扩展测试,软RDMA性能发挥并不尽如人意,并没有达到前一期中的大规模领先,测试结果均仅供参考。
老规矩,知道写了些啥
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31466763/viewspace-3017001/ ,如需转载,请注明出处,否则将追究法律责任。