I have about 15gb of data that I wish to copy from my NTFS external harddrive connected via USB to the ext4 partition of my harddrive. While copying from my laptop's NTFS harddrive the rate was about 20mb/s. In the opposite direction, however, the rate is about 3mb/s. Am I missing something important or is there something wrong?
There are several issues that may affect write performance and explain what you're experiencing. Without more technical details about your machine I can't tell you which of these are really relevant, but the usual suspects are:
As stonedsquirrel pointed out in comments, write performance depends on filesystem. Under Linux, copying to an
ext4
partition is expected to be faster copying to anNTFS
one.ext4
is managed by a kernel driver, and it's highly optmized since it's the default filesystem in most Linux distribuitions, whileNTFS
(usually NTFS-3G from Tuxera) is a driver that runs in user-space, so it is much slower.NTFS suffer a lot from fragmentation, and a heavily fragmented partition may have slower write performance.
Laptop's hardrives are optimized for lower power consumption, while desktop harddrives usually aim for performance. They usually run at 5400rpm (or lower), in comparison of 7200 from desktop HDDs. Other power-saving features may also trade in performance for longer battery life.
That said, both 20mb/s (for copying to an ext4, desktop hdd) and 3mb/s (for an ntfs, laptop hdd) seem quite normal
I just tried the option
big_writes
with NTFS USB drive, helps quite a bit. Write speed went from 2 MB/s to 28 MB/s and I checked for data corruption after the copy, data was absolutely fine. Following is the command: