Improve slow NAS Ethernet transfer speeds: On-The-Fly Ethernet Compression with SAMBA?

1

Hardware: Pogoplug E02 (ARMv5te, Marvell Kirkwood 1.2GHz, 256m RAM) Software: ArchLinux, MDADM RAID 5 array, Ext4, SAMBA server

This setup delivers file transfers to my Windows clients at ~21MB/s across Ethernet. I'd like to improve the speed. The bottleneck is Pogoplug's processing power or network controller (internal read/writes >35MB/s).

Can I accomplish this with client-side decompression? In other words, can I compress the drives and have Windows clients natively decompress?

Dan

Posted 2014-06-30T19:23:07.153

Reputation: 21

you;d be putting a lot of weight on that ARM to do it, and I believe that will more than eat up the benefit you get from compressing your stream. Keep in mind, files on compressed drives are decompressed as they are read, so by serving up the file, you have already inflated it to its normal size, and paid all the CPU and ram cost to do it. – Frank Thomas – 2014-06-30T20:12:56.190

I was thinking along the lines of compressing all the data on the Pogo's shared drive with heavy-compression, and leaving it that way (the data is never opened by the Pogo). Then an automated process on the Windows samba client that receives the compressed data and decompresses it inside somewhat seamlessly. – Dan – 2014-10-20T23:42:25.550

you can certainly do that, and achieve the ends you want, assuming the data you want to server can be effectively compressed (audio/video/executables usually cannot be compressed much if at all). the issue you have to overcome, is you probably cannot easily extend samba to perform the decompression, and the files will be block compressed, not stream compressed, so the whole file must be downloaded in order to decompress (so streaming video/audio over samba). – Frank Thomas – 2014-10-22T05:32:23.477

CONT. So your best bet would be to craft some kind of client wrapper around the windows SMB client, that will copy the file over the network to a specified directory, decompress it, and delete the compressed version. it would take some programming on windows, but on linux somthing like the old nautilus-actions package would let you script it without too much difficulty. – Frank Thomas – 2014-10-22T05:35:45.137

No answers