【问题标题】:How to minimize the time for Unzipping & zipping the files in Unix?如何最大限度地减少在 Unix 中解压缩和压缩文件的时间?
【发布时间】:2013-10-17 05:25:02
【问题描述】:

我必须解压缩,然后(处理后)再次压缩(存档)源文件。文件大小通常在 200-250 GB 左右(解压缩,.dat 格式)(总共 96 个文件)。 解压缩过程大约需要 2 个小时,而压缩过程又需要 1:30 到 2 个小时,这是无法承受的。 目前我使用“zcat”命令解压缩,使用“gzip -3”压缩文件。 磁盘空间不是问题,因为我们已经安装了 1.5 TB。 请您建议一些更有效的方式来执行此过程..

期待您的建议,谢谢 - Pushkar。

【问题讨论】:

  • 您可以“在线”处理吗?即gzcat file.gz | ./fixingScript | gzip -9 - > file.tmp.gz && mv file.tmp.gz file.gz? (抱歉,我没有时间查找您在zip 实用程序中使用的确切语法)。这应该基本上将您的处理时间减少到两者中较长的一个,解压缩或重新压缩。或者,如果这是您可以重新架构的东西,请选择较小的文件或可以馈送到大型并行处理系统、Hadoop 和许多其他系统的东西。祝你好运。
  • 感谢您的回复!实际上,解压缩后,我使用这些文件作为 Informatica 工具的输入。所以不能排队。
  • 仍然不确定我是否理解您的用例,如果您不处理数据然后压缩修订版备份并且您有足够的磁盘空间,那么cp file.zip file.orig.zip && unzip file.zip && load_to_informatica file && rm file && mv file.orig.zip file.zip 怎么样。因此,您保留压缩文件的副本,临时解压缩,在加载解压缩文件后,您只需将其删除,然后将保存的 .zip 副本重命名为 file.zip。祝你好运。

标签: performance unix gzip filesize zcat


【解决方案1】:

如果磁盘空间不是问题,那么永远不要压缩。那么你也永远不需要解压缩。

如果您有多个内核,您可以尝试pigz 来加快速度。它是 gzip 的并行实现,可以特别加快压缩速度。

我不明白为什么你的解压比你的压缩慢。它应该快三到十倍。你能提供你正在做什么的实际代码吗?那里一定有问题。

顺便说一句,您的术语不正确。压缩和解压缩是指 .zip 格式,而不是 .gz 格式。你只会说你压缩和解压缩 gzip 格式。

【讨论】:

  • pigz 只加速压缩,不加速解压缩。
  • @Thomas 实际上它确实加快了一些速度。解压时pigz有独立的线程进行读、写、解压和CRC计算。我刚刚对一个 100 MB 的 gzip 文件进行了快速测试,其中使用 gzip 解压缩大约需要 2.5 秒,而 pigz 大约需要 1.5 秒。
  • Man page说:“因此pigz使用单线程(主线程)进行解压,但是会创建另外三个线程进行读、写、校验计算,可以加快解压速度在某些情况下。”
【解决方案2】:

解压时试试静音模式-q。如果存档中的文件太多,这将大大减少时间,因为 unzip 会将名称写入标准输出。

man unzip:

   -q     perform  operations  quietly  (-qq  = even quieter).  Ordinarily
          unzip prints the names of the files it's extracting or  testing,
          the extraction methods, any file or zipfile comments that may be
          stored in the archive, and possibly a summary when finished with
          each  archive.   The -q[q] options suppress the printing of some
          or all of these messages.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2010-09-05
    • 2011-08-18
    相关资源
    最近更新 更多