看看Munin的盘形插件(它是从/proc/diskstats上读来的)的输出,我注意到了我觉得很奇怪的地方。磁盘是一个SSD,我会假设,无论是磁性的还是固态的,延迟都会在重写期间增加。为什么它会死呢?


发布于 2018-07-06 03:29:28
写的是随机的还是流的?
我假设它们是连续流“顺序”写入,因为i/o延迟总是低于顺序i/o。随机i/o的延迟更高,因为SSD仍然有一些i/o突发延迟,缓存没有那么有效,SSD上可能会出现必须中断的后台垃圾收集,等等。
阅读更多:https://www.seagate.com/tech-insights/lies-damn-lies-and-ssd-benchmark-master-ti/
发布于 2018-07-06 03:16:28
在大量写入期间,延迟会增加。为什么它会死呢?
因为你没有偷听的书信。看来你的重笔很大。而在其他时期,你在那里做很多小事情。
看,这里缺少一个IOPS计数器。IOS一般更受IOPS的限制。如果odo很少有大型IOPS (复制大型文件),那么即使对于SSD (替换单元格的内容比读取单元格、更改一些字节、写入整个单元格更快),这也更有效。
我们需要分析您所做的事情,但是它看起来有点像一个大型的IO操作对其他操作造成了太大的负担。您是否可能在服务器上安装了VM,甚至关闭了VM?在不知道当时发生了什么的情况下,没人能真正知道。
顺便说一句,对于硬件和SSD,延迟通常是可怕的。有了这个吞吐量和SSD,我期望的延迟要比1ms低得多。
我只是在看一个较小的存储单元,目前正在做大约1000 IOPS -不到1兆字节,当你运行40多个空闲VM的时候你得到的小io .在网络(!)上,写在1.85ms,在5.25us (不是ms,us)读。即使你的最小值也是惊人的高。您的写作一般在我通过1G网络访问SSD的区域。
发布于 2018-08-02 09:04:36
SSD在写方面有一种奇怪的行为,可能会导致延迟的下降。他们会将数据保存在最初几个MBs的内部写缓存中,然后编写它们。这意味着最初的几次写入将会有一个很短的延迟,因为一旦数据到达内部SRAM,但是还没有到达闪存媒体,写就被确认了。然后快速地将数据写入媒体(通常是通过多个通道并行写入多个闪存),然后SSD准备获得另一批这样的数据。如果您有在SSD中生成一个大队列的写操作,您将看到延迟上升,如果您的写操作是短脉冲串,则由于每个突发都由SRAM处理,因此您的延迟将大大减少。
https://serverfault.com/questions/919708
复制相似问题