What's new

Entware Entware: which USB stick performs well?

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Just for the fun of it, test was done on Windows Subsystem for Linux (WSL)

Code:
Samsung EVO+ 256GB UHS-I microSDXC U3
File format: NTFS
                                                   random    random
   kB  reclen    write  rewrite    read    reread    read     write
20480       4    41855    50204   185746   208807   136151    44118
20480      16    58528    64611   398180   528423   410766    38576
20480     512    57546    62429  1021094  1175788  1078178    47206
20480    1024    64656    63245   848842  1021349   984285    52021
20480   16384    64553    65763   995677  1044165   950729    68686
 
Maybe an idea to sort the results in iozone-db.txt by (average) performance, best to worse?
 
I owned two Corsair, they both died within a month... Further research showed that there were tons of complains about these. Might also explain why NCIX sold a lot of refurbs of these...

I used a Patriot for years (can't tell the exact model, the writing is all worn out), it was able to break 150-200 Mbps. I have recently replaced it with a Patriot Supersonic Rage, which is only slightly slower (but more portable - I carry these in my pocket, along with various tools for work).

No idea how's the IO performance on either tho, these are sustained numbers.
 
I owned two Corsair, they both died within a month... Further research showed that there were tons of complains about these. Might also explain why NCIX sold a lot of refurbs of these...

I used a Patriot for years (can't tell the exact model, the writing is all worn out), it was able to break 150-200 Mbps. I have recently replaced it with a Patriot Supersonic Rage, which is only slightly slower (but more portable - I carry these in my pocket, along with various tools for work).

No idea how's the IO performance on either tho, these are sustained numbers.

Hmmm... I've had a couple of Corsair drives, they were ok for occasional usage... never had one of those running full time 24/7 as an active mount on a device.

I think the big concern with SDCard and USB Flash Drives is counterfeits... there's a lot of crazy stuff on the the Bay of E, the Lists of Craig, Ali of Baba, and other alt-sources... they're cheap... even on the AmaZone - know who you're getting your flash from.

Just an observation on the forums - flash in any form, not a good thing for /swap - optware/entware, and additional packages, one is tempted to use a swapfile - that's an easy way to burn a hole in flash.

And always consider that flash drives are disposable - use them for a while, age them out...

Anyways - here's RPi3+ running iozone against /tmp with tmpfs, and zram...

I write /tmp to tmpfs (RAM), and I use ZRAM (RAM as SWAP) in day to day usage - keeping pressure off the flash.

Makes me start to question numbers perhaps, but this might also be memory compression kicking in.

Code:
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        30G   11G   18G  37% /
devtmpfs        466M     0  466M   0% /dev
tmpfs           470M     0  470M   0% /dev/shm
tmpfs           470M   13M  458M   3% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           470M     0  470M   0% /sys/fs/cgroup
tmpfs           470M  124K  470M   1% /tmp
/dev/mmcblk0p1   41M   22M   19M  54% /boot
tmpfs            94M     0   94M   0% /run/user/1001

free -m
              total        used        free      shared  buff/cache   available
Mem:            939         111         172          16         654         754
Swap:           939           0         939

cat /proc/swaps
Filename                Type        Size    Used    Priority
/dev/zram0                              partition    240404    0    5
/dev/zram1                              partition    240404    0    5
/dev/zram2                              partition    240404    0    5
/dev/zram3                              partition    240404    0    5

IOZONE going into /tmp in RAM...
  
Command line used: ./iozone -e -I -a -s 20M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 /tmp
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
                                                            random  random    bkwd   record   stride                                  
              KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
           20480       4    2619    2863     8714     8711    7433    3818                                                        
           20480      16    7905    6866    15979    15966   14986    8922                                                        
           20480     512   21045   21457    22617    22620   22613   11287                                                        
           20480    1024   21144   21448    22709    22702   22702   15678                                                        
           20480   16384   17219   18057    22954    22954   22952   21756
 
Last edited:
Just for the fun of it, test was done on Windows Subsystem for Linux (WSL)

Code:
Samsung EVO+ 256GB UHS-I microSDXC U3
File format: NTFS
                                                   random    random
   kB  reclen    write  rewrite    read    reread    read     write
20480       4    41855    50204   185746   208807   136151    44118
20480      16    58528    64611   398180   528423   410766    38576
20480     512    57546    62429  1021094  1175788  1078178    47206
20480    1024    64656    63245   848842  1021349   984285    52021
20480   16384    64553    65763   995677  1044165   950729    68686

Interesting case! The numbers look not right. The old Samsung EVO+ MicroSD (not the newer EVO Plus) is good but the numbers are too good. I'm afraid either iozone can't handle the case or it's simply benchmarking Windows RAM..

Makes me start to question numbers perhaps, but this might also be memory compression kicking in.

Code:
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        30G   11G   18G  37% /
devtmpfs        466M     0  466M   0% /dev
tmpfs           470M     0  470M   0% /dev/shm
tmpfs           470M   13M  458M   3% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           470M     0  470M   0% /sys/fs/cgroup
tmpfs           470M  124K  470M   1% /tmp
/dev/mmcblk0p1   41M   22M   19M  54% /boot
tmpfs            94M     0   94M   0% /run/user/1001

free -m
              total        used        free      shared  buff/cache   available
Mem:            939         111         172          16         654         754
Swap:           939           0         939

cat /proc/swaps
Filename                Type        Size    Used    Priority
/dev/zram0                              partition    240404    0    5
/dev/zram1                              partition    240404    0    5
/dev/zram2                              partition    240404    0    5
/dev/zram3                              partition    240404    0    5

IOZONE going into /tmp in RAM...
 
Command line used: ./iozone -e -I -a -s 20M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 /tmp
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
                                                            random  random    bkwd   record   stride                                 
              KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread
           20480       4    2619    2863     8714     8711    7433    3818                                                       
           20480      16    7905    6866    15979    15966   14986    8922                                                       
           20480     512   21045   21457    22617    22620   22613   11287                                                       
           20480    1024   21144   21448    22709    22702   22702   15678                                                       
           20480   16384   17219   18057    22954    22954   22952   21756

The numbers don't look right either. iozone can handle most cases but hasn't been updated for years. From my brief trial, it can't handle tmpfs mount. I suspect it's benchmarking the MicroSD card :)
 
Lexar JumpDrive S75 128GB USB3.0 - Amazon Link

Added. Thoughtful as usual by providing a link to the product page. It's terrifically useful to other ppl..avoiding this stick. lol. Thanks for the submission.

I purchased a Corsair Voyager GTX 128GB https://www.amazon.com/dp/B079NVJPKV/?tag=snbforums-20 and that is a Beast of a drive. I found the drive got hot quickly. I decided to return the Corsair stick, and stay with a Sandisk Ultra 32GB.

Which Sandisk Ultra do you end up with? Test numbers pls..
 
Maybe an idea to sort the results in iozone-db.txt by (average) performance, best to worse?

Good suggestion. But I'm not going to do manual work. :)

Will keep it as-is in alphabetical order for now. In future, it may show up as a real searchable database or at least with a db underneath and pages dynamically generated by different criteria.

For running applications, people have to only care one number - the top right corner (i.e. random 4KiB write). If adding one more, the one next to it on the left i.e. random 4KiB read.

Btw, if you still haven't decided on a new one, get my SanDisk Ultra Flair. Or SanDisk Extreme if plan to spend a little more. The Ultra shall be sufficiently good..
 
I have recently replaced it with a Patriot Supersonic Rage, which is only slightly slower (but more portable - I carry these in my pocket, along with various tools for work).

I seldom look at premium/niche brands. Interestingly, the Patriot Supersonic Rage is rated for 180/50 MB/s read/write.

And the Patriot Supersonic Magnum 2 is rated for 400/300 MB/s read/write. Look like a competitor to Corsair Voyager GTX..
 
The numbers don't look right either. iozone can handle most cases but hasn't been updated for years. From my brief trial, it can't handle tmpfs mount. I suspect it's benchmarking the MicroSD card

Looked at the code - it doesn't care if it's tmpfs or whatever, iozone just sees a filesystem that can be written to - my guess is that in the config I mentioned, it's a bit bound in this use case - it's rare that one would put big pressure into a compressed filesystem in daily usage...

Keep in mind that the system under test has 1GB of real RAM, and we have 1GB of ZRAM, and /tmp is tmpfs... inception :D

Interesting to note however...
 
Last edited:
Added. Thoughtful as usual by providing a link to the product page. It's terrifically useful to other ppl..avoiding this stick. lol. Thanks for the submission.

Consider that the numbers are tested on Rpi - USB2.0, so the numbers aren't so bad.

That being said - a representative of a cheap largish USB thumbdrive without trim...
 
Looked at the code - it doesn't care if it's tmpfs or whatever, iozone just sees a filesystem that can be written to - my guess is that in the config I mentioned, it's a bit bound in this use case - it's rare that one would put big pressure into a compressed filesystem in daily usage...

Keep in mind that the system under test has 1GB of real RAM, and we have 1GB of ZRAM, and /tmp is tmpfs... inception :D

Interesting to note however...

Hmm...iozone doesn't work at all on tmpfs in my case

7CGBO7r.png
 
Hmm...iozone doesn't work at all on tmpfs in my case

do you have write perms to a mount? I'm not writing to tmpfs directly, I'm writing to /tmp, which is tmpfs - see the df -h - make an entry for /tmp mapping to tmpfs in fstab...

If you don't -- explains the error ;)
 
Hmm...iozone doesn't work at all on tmpfs in my case

hint... look at the end of the line...

Command line used: ./iozone -e -I -a -s 20M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 /tmp
 
hint... look at the end of the line...

Command line used: ./iozone -e -I -a -s 20M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 /tmp

Doesn't help either as expected.

I suspect either I trimmed too much stuff inside Linux kernel or low-level optimization used in iozone for accurate tests aren't compatible with tmpfs.
 
Doesn't help either as expected.

I suspect either I trimmed too much stuff inside Linux kernel or low-level optimization used in iozone for accurate tests aren't compatible with tmpfs.

if this helps - along with the zram script I mentioned earlier..

Code:
cat /etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=4fbfd2af-01  /boot           vfat    defaults          0       2
PARTUUID=4fbfd2af-02  /               ext4    defaults,noatime  0       1
tmpfs      /tmp            tmpfs        defaults           0    0
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
/dev/sda1       /home/sfx/builds        ext4    rw,noatime      0       0
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top