Повышение скорости медленной передачи данных через Ethernet Ethernet: сжатие Ethernet на лету с SAMBA?

1

Аппаратное обеспечение: Pogoplug E02 (ARMv5te, Marvell Kirkwood 1,2 ГГц, 256 м RAM) Программное обеспечение: ArchLinux, массив MDADM RAID 5, Ext4, сервер SAMBA

Эта настройка обеспечивает передачу файлов моим клиентам Windows со скоростью ~ 21 МБ / с через Ethernet. Я хотел бы улучшить скорость. Узким местом является вычислительная мощность Pogoplug или сетевой контроллер (внутреннее чтение / запись & gt; 35 МБ / с).

Могу ли я сделать это с помощью декомпрессии на стороне клиента? Другими словами, могу ли я сжать диски и сделать так, чтобы клиенты Windows изначально распаковывались?

Dan
источник
вы будете придавать этому ARM большой вес, и я верю, что это более чем съедит выгоду, которую вы получите от сжатия потока. Имейте в виду, что файлы на сжатых дисках распаковываются по мере их чтения, поэтому, обслуживая файл, вы уже надули его до его нормального размера и заплатили за него все затраты процессора и оперативной памяти.
Frank Thomas
Я думал о том, чтобы сжимать все данные на общем диске Pogo с помощью тяжелого сжатия и оставить все как есть (данные никогда не открываются Pogo). Затем автоматизированный процесс на клиенте Windows Samba, который получает сжатые данные и распаковывает их внутри довольно плавно.
Dan
Вы, безусловно, можете сделать это и достичь желаемых целей, если предположить, что данные, которые вы хотите разместить на сервере, могут быть эффективно сжаты (аудио / видео / исполняемые файлы обычно вообще не могут быть сжаты). проблема, которую вы должны решить, это то, что вы, вероятно, не можете легко расширить samba для выполнения распаковки, и файлы будут сжаты блоком, а не сжаты потоком, поэтому весь файл должен быть загружен для распаковки (поэтому потоковое видео / аудио через samba ).
Frank Thomas
CONT. Поэтому лучше всего создать клиентскую оболочку для клиента Windows SMB, которая будет копировать файл по сети в указанный каталог, распаковывать его и удалять сжатую версию. это заняло бы некоторое программирование для Windows, но в Linux что-то вроде старого пакета nautilus-actions позволило бы вам написать его без особых затруднений.
Frank Thomas