首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旧LTO-2磁带的读取性能

旧LTO-2磁带的读取性能
EN

Server Fault用户
提问于 2014-12-11 06:45:42
回答 1查看 330关注 0票数 1

我有一堆旧的LTO-2磁带,我的任务是将内容保存为磁盘上的大型二进制文件,以便最终合并到较新的媒体上。(内容采用本网站特有的自定义格式,与此问题无关。我不需要保留阻塞。)

我想听听关于如何尽快阅读内容的建议。目前使用dd的性能约为2MB/s,我相信这是由于磁带上文件的大小很低,而且是可变的。该LTO-2规格说,我应该能够得到40 to /S本土。

使用Solaris,我可以从tcopy实用程序中看到文件是以可变块大小存储的:

代码语言:javascript
复制
# tcopy /dev/rmt/1cbn
file 1: record 1: size 40
file 1: record 2: size 1024
file 1: record 3: size 10240
file 1: record 4: size 7168
file 1: record 5: size 1024
file 1: records 6 to 7: size 10240
[...]

测试从磁带读取到/dev/null

代码语言:javascript
复制
# dd if=/dev/rmt/1cbn of=/dev/null bs=128k

(请注意,此处指定的128 k的块大小是最大块大小。如果磁带上的块的实际大小小于此大小,则将为每个IO返回较小的数据量。)

iostat -Mzcnx 1显示:

代码语言:javascript
复制
    r/s    w/s   Mr/s   Mw/s wait actv wsvc_t asvc_t  %w  %b device
  304.2    0.0    1.9    0.0  0.0  1.0    0.0    3.2   0  97 rmt/1

这告诉我,它的读数是1.9MB/s,平均IO大小约为6500字节,平均每一次都有一个IO未完成。

因此:考虑到我不能回到过去,更改写入磁带的块大小,请告诉我是否有什么方法可以更快地读取现有数据。

EN

回答 1

Server Fault用户

发布于 2014-12-11 07:01:19

查看缓冲区命令,基本上它的速度允许同步读写活动,而不是普通的读,然后写,然后读,等等。

基本上,它是通过产生两个子进程来做到这一点的。这些进程使用共享内存缓冲区进行通信。命令行参数与dd相似,通过添加参数来调整共享内存缓冲区的大小。

该命令有时已经存在于某些Linux发行版中,但是如果它不使用yum或apt(或任何您的包检索机制)来获取缓冲区包。

在编写许多磁带备份/还原包时,我亲自使用了这个命令,它将吞吐量提高了大约10-20%。

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

https://serverfault.com/questions/651757

复制
相关文章

相似问题

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