知识卡片
软件优化收益取决于硬件是否为瓶颈
内容
在同一台机器上对比SPDK用户态驱动和内核驱动的性能,用相对较慢的2D NAND固态硬盘(P3700)测试时两者差距很小,因为磁盘本身的物理性能上限先于软件开销被触达,谁的驱动更省CPU周期已经不重要了;换成基于3D XPoint的高速盘(Optane P4800X)后,内核驱动始终卡在一个IOps上限,而SPDK能轻松跑到近两倍的数值,因为这时软件路径的开销才真正成为了瓶颈。发散:这是评估任何性能优化都该先做的判断——先确认瓶颈到底在哪一层,优化一个不是瓶颈的环节几乎不会带来可感知的收益,这也是为什么SPDK这类软件加速技术总是和最新一代高速硬件绑定宣传,因为只有硬件足够快,软件层面的开销才会被放大到值得被单独优化的程度。
参考来源
《Linux开源存储全栈详解从Ceph到容器存储》第4章《存储加速》