我想对单个 Lustre 客户端在其 Lustre 安装的文件系统中保存的能力进行基准测试。
我是一名应用程序开发人员,而不是存储维护人员,所以我不担心多个客户端的存储写入带宽饱和,我担心单个应用程序服务器/lustre客户端一次可以写入多少内容,以便我可以将其与我的应用程序进行比较表现。
我发现此页面有几个基准,但似乎所有人都对一次配置多个客户端而不是仅使用一个客户端感兴趣。对于我正在寻找的东西来说,这些中的任何一个更有趣吗?
或者,我有一个简单的脚本,它使用 dd 来对不同块大小和计数的文件系统进行基准测试。我可以相信在 Lustre 客户端中运行此 dd 脚本所获得的结果吗?如果没有,为什么?我知道我受到网络带宽的限制,但我有兴趣了解它如何限制我的性能。
答案1
由于 Linux 页面缓存性能限制,具有良好网络和存储能力的 Lustre 客户端可以通过单线程写入获得约 1-2GB/s 的速度。在单个客户端上写入多个单独文件的多个线程可以获得更高的性能,最高可达网络或 CPU 限制,在当前 Lustre 版本中最高可达约 10 GB/s。目前正在努力在具有 8 个 100GBit 网络接口的 DGX100 客户端上将其提高到潜在的 50 GB/s。
您对“dd”使用什么选项?例如,如果没有“bs=1MB”,则“dd”每次系统调用将写入 512 字节,这是非常低效的,就像用水杯从水龙头注满游泳池一样。进行O_DIRECT
大文件写入(例如 32+ MB)也可以提高性能。