zfs的块设备写操作很慢的原因分析

来源:互联网 发布:js cookie 代码 编辑:程序博客网 时间:2024/06/04 23:30
   zfs的写性能很差,zfs on linux 上的写性能个人感觉更差。 而且这种差很难修改,原因是由于在linux内核当中,在zfs当中,对于一个4k块大小的块设备,如果你要重写一个2k的块,你可以发现大量的读操作从内核的上层发起。
操作如下
$dd if=/dev/zero of=/dev/zd0 bs=2k count=10000
造成大量的读的原因很简单 由于你要2k,2k的写,而真正的zfs 的块设备块大小为4k,所以他会发起一个读取整个块的操作,从磁盘上读一个4k上来,然后将2k的数据写入这个块上,然后将这个新的4k,封装好bio,以request的形式往底层传递。这样zfs看到的只是一个普普通通的读请求,而无法知道这个请求是异常的为了凑齐的读请求还是什么别的目的的读请求(这个读请求还是有作用的)。

但是我发现的结果却是zfs要么读,读的时候并没有写磁盘的操作发生。这个就很可疑了,我通过阅读代码也没发现这个原因是什么。
阅读(180) | 评论(0) | 转发(0) |
0

上一篇:Linux,zfs耗内存的原因剖析

下一篇:apt-get update 更新源Ubuntu 10.10

相关热门文章
  • 单人操作分析仪中,以最新AKK...
  • 单人操作分析仪中,以最新AKK...
  • 单人操作分析仪中,以最新AKK...
  • mysqlbinlog功能扩展--table参...
  • 常用MYSQL命令
  • 双机热备Oracle数据库服务器操...
  • 双机热备Oracle数据库服务器操...
  • 双机热备Oracle数据库服务器操...
  • 缘聚湘西南 武冈深圳同乡会 欢...
  • 虚拟磁带库 变革数据保护流程(...
  • 这样配置的服务器能够承受8k并...
  • vm里的系统能够ping到nfs,但...
  • bind是否随机从两台master中读...
  • 在win7下用cygwin搭建hadoop,...
  • Mysql的binglog日志能否分库备...
给主人留下些什么吧!~~
原创粉丝点击