![对大内存系统上的磁盘性能进行基准测试](https://linux22.com/image/570496/%E5%AF%B9%E5%A4%A7%E5%86%85%E5%AD%98%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%9A%84%E7%A3%81%E7%9B%98%E6%80%A7%E8%83%BD%E8%BF%9B%E8%A1%8C%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95.png)
我需要为我们的虚拟托管环境生成一些比较文件系统性能指标。具体来说,我需要查看 NFS 和 iSCSI 之间的差异,以及将网络 MTU 从 1500 更改为 9000 对性能的影响。这是我第一次涉足文件系统性能指标... 那里有大量的信息(和如此多的工具!),我不知道从哪里开始。
让事情变得复杂的是,这些系统每个都有 48 个内核和 256 GB 内存,我不确定这会对我的性能测量工具的设置产生什么影响。例如,碘文档建议将最大文件大小设置为大于系统的本地内存......但这表明最大文件大小至少为 512GB。
我希望有人可以提供一些建议(或指向一些文档),以便(a)设置一些合理的测试,以及(b)解释结果。
谢谢!
答案1
您需要考虑基准测试的常见使用场景。您进行基准测试的目的似乎不是决定一个驱动器是否比另一个驱动器更好,而是决定应该使用哪种技术和哪种设置。我的意思是,当您希望结果帮助您选择最适合您的用例的产品时,您应该尽可能地复制生产环境。
那么,您是否会将大量内存用于缓存和缓冲区?如果是,请在基准测试中也释放预期的可用内存量。如果不是,请尝试使其尽可能接近。
您可以使用内核参数限制 Linux 可用的内存量mem=
- 例如,传递mem=2G
将使 Linux 仅使用 2GB 内存。
另一种方法(更适合于获得实际结果)是编写一个简单的应用程序,它将分配内存并用某些东西填充它。
最好的方法是像在生产中一样设置盒子,让它使用正常使用的内存,最好是,做你想让它做的事情(如果你可以在不引起 IO 的情况下做到这一点)。
通过这样设置的服务器,您可以运行 iozone、fio 或其他基准测试来获取一些数字。
答案2
下面的博客多次讨论了磁盘基准测试。搜索其档案。作者是我的朋友,相信他写的内容。