假设我需要通过相当快速的网络将一些数据从一台计算机发送到另一台计算机,例如标准的100Mbit连接(〜10MB / s)。我的磁盘驱动器是标准HDD,因此它们的速度介于30MB / s和100MB / s之间。因此,我认为即时压缩数据可能会有所帮助。
但是...我不想受到CPU的限制。如果选择占用大量CPU资源的算法,则传输实际上会比没有压缩时慢。
对于GZIP和BZIP2之类的压缩器而言,这很困难,因为您通常为整个传输设置一次压缩强度,而且我的数据流有时很容易,有时很难压缩-这使处理过程不是最佳的,因为有时我不使用完整的CPU,有时带宽利用不足。
是否有一个压缩程序可以适应当前的CPU /带宽并达到最佳状态,从而使传输达到最佳状态?最适合Linux,但我对所有解决方案仍然感到好奇。我希望看到与GZIP / BZIP2解压缩器兼容的东西,但这不是必需的。
因此,我想优化总传输时间,而不仅仅是发送字节数。
我也不需要实时解压缩...实时压缩就足够了。目标主机可以在其空闲时间稍后处理数据。我知道这不会有太大变化(压缩通常比解压缩要占用更多的CPU资源),但是如果有一种可以利用这一事实的解决方案,那就更好了。
每次传输不同的数据时,我真的想尽快进行一次一次性传输。因此,由于压缩效果更强,我无法从更快地进行多次传输中受益。
谢谢,