首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux2.6.43,ext3,10K RPM磁盘,2次顺序写入(直接io)对不同的文件起随机写入的作用

Linux2.6.43,ext3,10K RPM磁盘,2次顺序写入(直接io)对不同的文件起随机写入的作用
EN

Stack Overflow用户
提问于 2015-07-16 04:26:34
回答 1查看 59关注 0票数 0

我最近在这个问题上耽搁了一下:

"2顺序写入(直接io4KB对齐块)在不同的文件上表现为随机写入,这在10K RPM SAS磁盘中产生了较差的写入性能“。

事情最让我困惑:我有一批服务器,都配备了相同类型的磁盘(raid 1与2 300 of 10K RPM磁盘),但响应不同。

  • 有几个服务器可以使用这种写模式,磁盘愉快地接受最多50+MB/s;(相同的内核版本,相同的文件系统,不同的库(libc 2.4))
  • 另一些则不然,100个op/s接缝达到了底层磁盘的极限,这证实了磁盘的随机写入性能;(相同的内核版本,相同的文件系统,不同的lib (libc 2.12))

注意:我检查了不同libc的"pwrite“代码,这些代码除了简单的"syscall”之外什么也没有说。

我设法排除了这样的可能性: 1.我自己程序中的软件错误;通过一个简单的deamon(没有动态链接的编译),进行sequcetial直接io写入;2.磁盘问题;在一台测试机上切换2种不同版本的linux系统,这些系统在我的直接io编写模式上运行良好,切换到旧的lib版本后的几天内,就出现了糟糕的随机写入;

我试着比较:

  1. /sys/block/sda/queue/*,两者可能有所不同;
  2. 文件只显示两个不同的文件,交错的顺序生长物理块id;

一定有某种写作策略导致了这个问题,但我不知道从哪里开始:

  1. 不同的内核设置?,可能与ext3如何分配磁盘块有关?
  2. raid缓存(写回)还是磁盘缓存写策略?
  3. 还是将逻辑块映射到实际物理块的底层磁盘策略?

真的很感激

EN

回答 1

Stack Overflow用户

发布于 2015-07-17 09:59:10

ANS是:因为/sys/block/sda/queue/schedule设置:

  1. 机器A:显示时间表: cfq,但不存在,这是最后期限;
  2. 机器B:时间表与cfq;//=>一致,因为我的服务器是db svr,最后期限是我最好的选择;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31445353

复制
相关文章

相似问题

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