在python中为Linux设计一个相当简单的备份系统时,我发现自己在问这个问题,是否有时间优势同时备份多个数据集/存档?
我的直觉告诉我,同时写几个档案不会花费我太多时间,因为I / O已经是最大的瓶颈。
另一方面,如果使用像bz2这样的东西,多线程是否有优势,因为更高的CPU需求会降低I / O需求?或者它是一个洗,因为所有的线程都会做同样的事情,因此共享相同的瓶颈?
答案 0 :(得分:3)
这取决于您的系统。如果您有多个磁盘,那么并行化备份作业可能非常值得。如果您有多个处理器,并行压缩多个作业可能是值得的。
如果处理器足够慢(并且磁盘速度足够快),压缩会使CPU成为瓶颈,那么您将在多核或超线程处理器上获得一些收益。如果您的CPU能够跟上驱动器的读取速度,那么从写入的压缩数据中减少的I / O需求几乎肯定是一个胜利。
无论如何,这完全取决于系统。试试看吧。一次运行两个作业然后连续运行相同的两个,看看哪个花了更长的时间。便宜(编码方式)的方法是使用不同的输入和输出参数运行备份脚本两次。一旦你建立了胜利者,你就可以走得更远了。