在为python中的Linux设计一个相当简单的备份系统时,我发现自己在问这个问题,是否有时间优势同时备份多个数据集/档案?
我的直觉告诉我,同时写几个档案不会给我带来太多的时间,因为I/O已经是最大的瓶颈。
另一方面,如果使用像bz2这样的东西,那么多线程是否有优势,因为对CPU的需求越高,I/O需求就越低?或者这是一个清洗,因为所有线程都在做本质上相同的事情,因此共享相同的瓶颈?
发布于 2010-11-08 22:01:19
这取决于你的系统。如果您有多个磁盘,那么将备份作业并行化是非常值得的。如果您有多个处理器,那么并行压缩多个作业可能是值得的。
如果处理器足够慢(磁盘足够快),压缩使CPU成为瓶颈,那么您将在多核或超线程处理器上取得一些进展。如果CPU能够跟上驱动器的读取速度,压缩数据所带来的减少的I/O需求几乎肯定是成功的。
总之,这都是非常依赖于系统的。试试看。一次运行两个作业,然后连续运行相同的两个作业,看哪一个要花更长的时间。廉价(编码方面)的方法是只使用不同的输入和输出参数运行两次备份脚本。一旦你确定了胜利者,你就可以走得更远。
https://stackoverflow.com/questions/4128450
复制相似问题