我有一个 8 驱动器 RAID 10 设置连接到 Adaptec 5805Z,运行 Centos 5.5 和截止日期调度程序。
基本dd读取测试显示 400mb/sec,基本dd写入测试显示大致相同。
当我同时运行两者时,我看到读取速度下降到约 5mb/sec,而写入速度大致保持在 400mb/sec。iostat -x如您所料,输出显示在磁盘受到写入轰炸时执行的读取事务很少。
如果我关闭控制器的回写缓存,我看不到 50:50 的分割,但我确实看到了明显的改进,大约 100mb/s 读取和 300mb/s 写入。我还发现如果我降低驱动器队列上的 nr_requests 设置(大约 8 个似乎是最佳的),我最终可以获得 150mb/sec 的读取和 150mb/sec 的写入;IE。总吞吐量降低,但肯定更适合我的工作量。
这是一个真实的现象吗?还是我的综合测试过于简单?
发生这种情况的原因似乎很清楚,当调度程序从读取切换到写入时,它可以运行大量的写入请求,因为它们都只是落在控制器缓存中,但必须在某个时候执行。我猜当调度程序开始尝试再次执行读取时,实际的磁盘写入正在发生,导致执行的读取请求很少。
这似乎是一个合理的解释,但在具有非平凡写入负载的系统上使用回写缓存似乎也是一个巨大的缺点。我整个下午都在寻找有关此问题的讨论,但一无所获。我错过了什么?
刚刚用 iSCSI 设置了一个穷人的 SAN 并想对其进行基准测试。除此以外,还有哪些适用于 Linux 的良好 I/O 性能基准测试:
hdparm -tT /dev/sda1
Run Code Online (Sandbox Code Playgroud)
如何获得 IOPS 测量值?
谢谢。
我正在开发一种将在客户的 Linux 服务器上运行的产品。这些系统的功能差异很大,我很想拥有一个单一的基准测试工具,我可以让它们运行以获取机器 CPU、磁盘写入速度等的指示。我们的产品对 CPU、磁盘写入速度等很敏感,因此,表明机器的能力确实有助于设定对性能的期望。一些客户正在使用云提供商,并且可能不确定其硬件的性能特征。
我知道有几十种 Linux 基准测试工具,但是对于支持技术或客户来说,这会让人感到困惑,而且我们正试图避免编写(更多)包装器工具,如果其中一个套件的标准化程度不断提高,则该工具会聚合结果社区。另外,老实说,我被选择淹没了!高度特定的工具适用于“幕后”,或在开发中,但它们并不理想,例如销售电话或演示。
我想要一些适用于大多数情况的单一基准测试工具的建议。能够实现这种响应的简单事情会很棒:“啊,这是一个不错的服务器,看起来应该没问题,但它的磁盘确实比我们希望的要慢。 ”
你最喜欢的 Linux 服务器快速基准测试工具是什么?