首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在大量写操作期间磁盘延迟会下降?

为什么在大量写操作期间磁盘延迟会下降?
EN

Server Fault用户
提问于 2018-07-06 02:59:01
回答 4查看 387关注 0票数 1

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

EN

回答 4

Server Fault用户

发布于 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/

票数 2
EN

Server Fault用户

发布于 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的区域。

票数 1
EN

Server Fault用户

发布于 2018-08-02 09:04:36

SSD在写方面有一种奇怪的行为,可能会导致延迟的下降。他们会将数据保存在最初几个MBs的内部写缓存中,然后编写它们。这意味着最初的几次写入将会有一个很短的延迟,因为一旦数据到达内部SRAM,但是还没有到达闪存媒体,写就被确认了。然后快速地将数据写入媒体(通常是通过多个通道并行写入多个闪存),然后SSD准备获得另一批这样的数据。如果您有在SSD中生成一个大队列的写操作,您将看到延迟上升,如果您的写操作是短脉冲串,则由于每个突发都由SRAM处理,因此您的延迟将大大减少。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/919708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档