CPU 或磁盘瓶颈?

CPU 或磁盘瓶颈?

假设我有机器 A 和 B,其中机器 B 的磁盘速度稍快,但处理器与机器 A 相当,其他一切都相同。我在两台机器上本地执行大型 Spark 作业,其中输入数据集太大而无法放入内存,从而迫使磁盘使用。在运行这个大型 Spark 作业时,我使用 sysstat/sar 收集系统指标。这样做的目的是比较处理器。

机器 B 能够以大约 10% 的速度完成任务。我发现,通过使用 sar,机器 B 能够实现更高的每秒扇区读取/写入速度(多 30%),同时降低平均 I/O 请求响应时间(最多快 250%)。我得出结论,机器 B 比机器 A 具有不公平的优势,因为它的磁盘速度更快。

我的问题是,我如何才能确定机器 B 的处理器在利用磁盘 I/0 方面是否比机器 A 更有效?更具体地说,如何确保磁盘速度的差异不会导致不公平的优势,以便在处理器之间进行公平的比较?是否有任何系统指标可以提供有关此方面的更多信息?

答案1

如果您认为磁盘 I/O 瓶颈是不公平的,那么您应该将其从等式中去掉,最简单的方法就是在 RAM 磁盘上完成所有工作(当然您需要 RAM,而且空间有限)然后如果两者的 RAM 技术不一样,您将遇到另一种不公平的情况。

同样,您可以使用中央 NFS 服务器,那么瓶颈就是网络。

因此,如果您的基准是 Spark 作业,并且整个想法是比较而不是找到更快的配置。我可能会建议升级情况并将整个数据集放在 USB 存储上,然后磁盘 i/o 应该匹配(只要您使用相同类型的连接器,两个 USB2 或两个 USB3)

相关内容