我需要多lessIOPS? 我的工作负载瓶颈是存储

我如何知道需要多lessIOPS来存储我的超载Linux服务器?

我有一个服务器,我知道它有存储瓶颈。 我想不要将存储瓶颈作为瓶颈,因此我需要调整存储arrays性能。 也就是说,购买比我需要的更多IOPS的arrays。

我怎么能知道,给定一些系统IO统计信息或其他信息,如何调整我的存储性能(购买什么)来服务超过我需要的服务(以最坏的情况 – 重要的IO争用作为参考)。

例如, iostat实用程序可以提供一些关于IO使用情况的有趣统计信息。 我可以使用这些信息来了解我需要的硬件性能吗? 怎么样?

这是一个普遍的问题,实际的工作负载types或软件并不重要(可能是一个数据库),我只需要能够根据当前的IO统计和使用情况做出决定。

如果您知道自己的存储空间有限,那么服务器上的基准testing并不能明确告诉您需要多less。 他们只能告诉你有多快,你可以去有限的存储。 为了正确地得到你正在寻找的答案,你需要,如果可能的话,隔离不同的方式,你可以存储节stream并独立testing。

IOPS当然是每个人谈论的容易的限制,因为磁盘在寻找和数据库方面不好寻求。 现在,使用caching和SSD,小块IO随机查找读取比以前要容易得多。 一小部分的SSD和一个大的caching可能会确保如果它确实是IOPS(对于小块“寻找”typesIO),那就是您的瓶颈,您将不再受制于此。 但是,要小心这些基准testing,因为人们测量可以直接访问未镜像caching的IO数量,所以会读到各种不切实际的数字。 这不会帮助你的Linux服务器。

另一种types的存储限制是带宽或吞吐量。 这个很难分离,但是如果你知道你要读取或写入多less数据,你知道现在需要多长时间,select一个新的时间目标,这将是你的新号码。 例如:如果你观察你的应用程序花费4个小时来做​​一个大的备份或者其他的东西,那么它会移动9TB,告诉你当前的吞吐量限制:大约650MB / s。 如果您想在此时移动18 TB,则需要1300 MB / s。 大多数情况下,以太网,光纤和SAS都可以configuration成比存储硬件更快。 存储保持传输层完整的能力通常是真正的瓶颈。 您需要查看前端端口的数量以及打开caching镜像的基准数量(以确保镜像caching写入的控制器之间不存在瓶颈)。

最后,您可能会受到SCSI队列方面的错误存储configuration的限制。 这并不是很普遍,但却是无法像现在这样快速推动存储硬件。 如果您看到来自主机的写入延迟为500毫秒,但是您的存储报告3毫秒100%的caching命中,这可能是目标上SCSI队列不足的问题。 基本上,SCSI启动器正在等待500毫秒,以释放其队列中可用于请求的插槽。 您希望向存储供应商咨询有关主机队列深度设置和扇出比率的最佳做法。

我希望这有帮助,我知道这不是你想要的那么简单的答案。

iostat命令会显示你想要的信息。 赶紧跑:

 iostat 1 

输出将是这样的:

 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 42.00 128.00 84.00 128 84 

tpstransactions per second ,与ops相同。

这将使其每秒更新一次。

您通常需要在您的Linux发行版上安装systat软件包才能使用iostat。

如果您可以将应用程序的负载从1 TPS改变到瓶颈以上,则可以build立TPS和I / O操作速率和带宽关系的模型。

让我们说:

  1 TPS causes 6 IOs and 2 KB of transfer, per second 10 TPS causes 16 IOs and 11 KB 100 TPS causes 106 IOs and 101 KB but 200 TPS causes 107 IOs and 102 KB 300 TPS causes 107 IOs and 102 KB 

1)然后你有一个瓶颈在100 TPS提供,再加上

2)有5个IO和1 KB的开销,之后每个事务使用1个IO和1 KB的传输

现在:

  1. 是您现有设备的限制,
  2. 是你的预算,你用它来计算每个TPS要处理多less

如果它说这是好事

10,000 IOPs and 100 KB/S ,只有后者对你有意义。 如果说它对于100 IOPS and 10,000 KB/S是好的,只有前者是有意义的。 有时候它最初会在IPS上面遇到瓶颈,在大的configuration上带宽

要衡量这一点,做许多单独的testing,重复,并在图表上绘制结果:你的眼睛在图片比在数字表格更好。

吞吐量图应该以斜坡的forms出现,类似于/ ,然后突然平整,水平或有时再次下降。 如果您绘制响应时间,它将看起来像_/弯曲将排队,在瓶颈负载左右。

是的,这将是一个近似于这些曲线的散点图,不是很好的直线(;-))

–dave