tom*_*ene 5 hardware windows performance storage cpu-usage
我有一个带有双 Xeon E5-2650v4 cpu 的 Windows 文件服务器。它们各有 14 个核心,因此总共 28 个核心。
网络接口是 Mellanox Connectx3 40gbs。
服务器中的磁盘驱动器是 Raid 0 中的 7.68TB Sata 6gbps ssds x8(软件 Windows 条带)
有 200 个渲染节点从上述服务器读取数据以渲染 3D 帧。
文件服务器有一个 numa 节点或 cpu 使用率 100%,而第二个 cpu 利用率不高。
问题是,有些使用 3D 应用程序的用户在渲染过程中会遇到速度变慢的情况。当没有渲染时,从事项目的艺术家不会遇到任何减速情况。网络并未饱和,因为进出服务器的网络流量只有 5gbps。容量为40Gbps。
那么放缓的原因可能是什么?我怀疑的一件事是 Mellanox 网卡位于连接到 cpu2 的 PCI Express 插槽上,也许这就是 CPU 2 被 100% 使用的原因。每个渲染节点为了渲染而读取数千个小文件。因此,大量文件可能会导致 CPU 利用率较高。
有任何想法吗?
需要注意的几件事是,40Gbps NIC 仅连接到一个套接字/NUMA 节点 - 因此,如果它与第二个套接字关联,则第一个套接字处理的任何文件共享工作负载都必须遍历 QPI 总线才能到达NIC,从而将第二个套接字变成第一个套接字的兼职 IO 控制器。如果第二个插槽并未真正使用,请考虑将其完全删除,将其内存移至第一个插槽插槽,并将 NIC 移至与第一个插槽关联。有时少即是多:)
其次,40Gbps 接口通常只是以 LACP/Etherchannel 方式预先捆绑的 4 x 10Gbps 连接,如果您的服务器正在与大量不同的 MAC 地址通信,但如果您始终与同一个 MAC 通信(例如一个客户端或另一台交换机)可以将您的带宽限制为 10Gbps 左右。这是我们从 40Gbps NIC 迁移到 25Gbps 的原因之一。
最重要的是,你有一个软件驱动的 R0 设置,它不仅占用 CPU 资源,而且重要的是内核使用的资源 - 现在很多人没有意识到这一点,但有多少个内核并不重要您可能会发现,大多数内核只会使用一定数量(通常是低数量)的内核来进行内核工作 - 进程调度、malloc、IO 等。软件 RAID 有几个好处,但显然硬件 RAID 有其自身的好处 - 并且一个其中之一是它们通常具有相对较低的 CPU 开销。
文件问题是一件痛苦的事情,是的,几乎所有文件系统在处理小文件时都比处理大文件慢——事实上,我正在努力思考任何不肯定 NTFS 不好的地方。具有讽刺意味的是,删除所有地方的巨型帧支持实际上可以帮助处理大量小文件,无论如何。
最后,让我担心这种系统的一件事是单个服务器的单点故障。如果您有预算,请考虑将所有这些文件服务转移到中央多“头”存储阵列,它应该更快、更可靠/更有弹性 - 也更容易支持。另一种选择可能是某种集中式或分散式分布式文件系统,例如 Ceph,甚至可能是 Window 自己的 DFS-R。我有一个朋友,他为电影/电影行业经营着一个非常大的渲染农场,他们使用这种东西,但公平地说,价格并不便宜。
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |