SSD - is there any way around the low performance for small file sizes?

Discussion in 'Mac Pro' started by milo, Oct 26, 2010.

  1. milo macrumors 604

    Joined:
    Sep 23, 2003
    #1
    Just got an SSD recently and it's extremely fast for big files (reads in the 240mB/sec range and an obvious improvement running the machine).

    But I also do work that uses a huge number of very small files, and I was surprised to find that the read performance is so much lower in that case. The 4k benchmark was actually slower than my old hard drive (about 40mB/sec), and loading up a project is also a little slower off of SSD versus HD. The files I'm loading are typically in the 60k range which should be better performance than 4k (and I would think better than HD, but that's not what I'm seeing on my machine). Looking at some SSD benchmarks online (on PC), 64k is still down from the max speed but not much, about 180.

    Are the results I'm seeing fairly typical? Is there any way to speed up the performance of the SSD drive with those smaller files/reads? Are there any formatting options for SSD that make a difference? This is a brand new drive with the data copied over to it, very little writing of files since then.

    Maybe I'm just out of luck, but it seems like I should be getting better performance on SSD than HD (people doing the same thing on the PC side seem to be).
     
  2. milo thread starter macrumors 604

    Joined:
    Sep 23, 2003
  3. xgman macrumors 601

    xgman

    Joined:
    Aug 6, 2007
    #4
    Can you post which benchmarks you ran for comparison?
     
  4. milo thread starter macrumors 604

    Joined:
    Sep 23, 2003
    #5
    Sure, this is xbench.

    Disk Test 371.41
    Sequential 232.56
    Uncached Write 255.89 157.11 MB/sec [4K blocks]
    Uncached Write 246.66 139.56 MB/sec [256K blocks]
    Uncached Read 140.18 41.03 MB/sec [4K blocks]
    Uncached Read 475.25 238.86 MB/sec [256K blocks]
    Random 921.65
    Uncached Write 1028.28 108.86 MB/sec [4K blocks]
    Uncached Write 452.63 144.90 MB/sec [256K blocks]
    Uncached Read 3165.81 22.43 MB/sec [4K blocks]
    Uncached Read 1187.16 220.29 MB/sec [256K blocks]

    According to the disk activity panel of Activity Monitor, I'm probably not even getting 40. Along the same lines, are there any decent apps for monitoring disk activity (one that breaks out individual drives would be even better)?
     
  5. idonotliketostu macrumors 6502

    Joined:
    Feb 28, 2008
    #6
    4k block -> 1. read, 2. stop, 3. next
    256k block ->1. read *64 2. stop 3. next

    reading 4k blocks stops 64times more often than 256kblocks


    i don't know how it really works but that seems to fit the issue logically
     
  6. idonotliketostu macrumors 6502

    Joined:
    Feb 28, 2008
    #7
    oh i forgot there's an option in raid setups allowing you to customize the default block size, supposedly choosing a smaller default block size makes the drive run faster for those working with small files
     
  7. philipma1957 macrumors 603

    philipma1957

    Joined:
    Apr 13, 2010
    Location:
    Howell, New Jersey
    #8
    yes he can set a smaller block size for raid, but those scores are not low.


    no one gets good 4k scores hdds are worse then 40mb/s sometimes only 1mb/s or 2mb/s
     
  8. Inconsequential macrumors 68000

    Joined:
    Sep 12, 2007
    #9
    From the Benchmarks i've seen, sequentially a SSD and a HDD are give or take the same.

    Random 4k reads however the SSD kicks the HDDs ass.

    You simply cannot get any faster and there is nothing you can do to make it faster.

    Only option is spending twice as much on a OCZ PCI-E thingy, which is ridiculously fast but ridiculously expensive.
     
  9. Transporteur macrumors 68030

    Joined:
    Nov 30, 2008
    Location:
    UK
    #10
    Sequential speeds SSD SATA II: Up to 270MB/s
    Sequential speeds SSD SATA III: Up to 355MB/s now, 500MB/s (proposed) in Q1 '11

    Sequential speeds HDD: Up to 145MB/s

    I wouldn't exactly say give or or take the same. ;)

    Anyway, the OCZ drives you proposed are actually not really expensive any more. The RevoDrive editions are about the same price as a similar sized Vertex 2.
    Unfortunately, there are no OS X drivers available as of yet. OCZ promised to work on them, though.
     
  10. milo thread starter macrumors 604

    Joined:
    Sep 23, 2003
    #11
    Thanks, that's the impression I got.

    But when doing actual work it should be loading files that are around 60k each. Still shouldn't be the full speed of the SSD but from what I understand it should be much better than the 4k read speed. But I'm getting data moving at the 4k rate if not worse.

    Are there any disk benchmark tools that go into more detail like some of the PC ones that graph a bunch of different block sizes? It would be good to know if the drive still has bad performance at 60k reads or if it's something else.
     
  11. philipma1957, Oct 26, 2010
    Last edited by a moderator: Nov 11, 2010

    philipma1957 macrumors 603

    philipma1957

    Joined:
    Apr 13, 2010
    Location:
    Howell, New Jersey
    #12
    right now i think intel is setup for 128k or 64k. no info on other ssds is available. as funny as it may seem a pair of first gen intel ssds x-25m 80gb in a raid0 may work best due to your small block size. i have a pair sitting in a desk drawer collecting dust. I have decided for my use I do not need ssd's. maybe we can figure out how to let you test the intel's. for just the shipping fees. I am thinking the world of ssd's have a lot of unknown's. such as block size etc.
     
  12. Ace134blue macrumors 6502a

    Ace134blue

    Joined:
    Sep 17, 2009
    #13
    Sorry to tell you, but crucial sucks compared to the rest and many people know that. You should have gotten a sandforce based drive such as a G.Skill phoenix pro or a vertex 2. Those are much faster, and are fast in small file transfers too;
     
  13. Ace134blue macrumors 6502a

    Ace134blue

    Joined:
    Sep 17, 2009
    #14
    Correction up to 285MB/s
     
  14. nanofrog macrumors G4

    Joined:
    May 6, 2008
    #15
    Where'd you come up with this? OWC?

    I ask, as technically, SATA II (3.0Gb/s) is actually capable of 375MB/s. You just don't ever see it. Real world sustained throughputs tend to max out ~270 - 275MB/s for any 3.0Gb/s compliant controller for a single drive.

    Assuming OWC is your source, I expect that the 285MB/s figure is taking burst rate into account (has a bias to how they determined this number), not sustained. Burst rates do exceed the sustained values listed, but it's for a very brief period, and under specific conditions (usually only seen in a benchmark, not actual real world usage).
     
  15. milo thread starter macrumors 604

    Joined:
    Sep 23, 2003
    #16
    Do you have a link to benchmarks showing that those drives are faster in small files transfer? All the ones I've seen show the c300 to be in about the same range as the ones you mention - no SSD drives seem to have 4k reads that are much faster than a decent HD. If I knew swapping to a different SSD would help, I'd do it but from what I've seen it doesn't look like that's likely to be the problem.

    Sandforce has some great advantages but they mainly seem to be for writing and rewriting. For pure reads (especially from a brand new drive that just had data copied over once and left there), it doesn't seem like it would make much if any difference.

    At this point I suspect the issue may be osx or the software, in real world use I'm getting loads (of mainly files of around 60k at a time) that are slower than the 4k benchmark I got.

    Thanks for all the suggestions, any other ideas for testing or optimizing would be appreciated.
     
  16. Ace134blue macrumors 6502a

    Ace134blue

    Joined:
    Sep 17, 2009
    #17
    My source is ME. I got two 60gb G.SKILL Phoenix Pros from newegg. Sustained is 285MB/s read and 275MB/s write.

    Heres a review
    http://benchmarkreviews.com/index.php?option=com_content&task=view&id=551&Itemid=99999999
     
  17. Ace134blue macrumors 6502a

    Ace134blue

    Joined:
    Sep 17, 2009
    #18
    4K read sustained at 140MB/s and write was 177MB/s. That is MUCH faster than a harddrive.
     
  18. VirtualRain macrumors 603

    VirtualRain

    Joined:
    Aug 1, 2008
    Location:
    Vancouver, BC
    #19
    You are confusing sustained transfer rates with random access.

    Typically drives are benchmarked on their sustained read/write rates for large blocks of data which for SSD's are north of 200-250MB/s. HD's traditionally perform at about half this rate.

    Drives are also benchmarked for their 4k random read/write performance which is more reflective of actual OS/Apps workloads. For SSD's which have no moving parts, and much lower latencies, they can achieve random read speeds of 20+ MB/s (note that's about an order of magnitude lower than the sequential speeds which is because of the random nature of the access pattern - changing the address with every operation). Hd's traditionally score around 0.2 to 2MB/s! This is because the head has to move with each read, dramatically adding to the latency.

    Here's a graph showing benchmarks for many SSD's and a couple of HD's (last two). In general, SSD's are anywhere from 10 to 100 times faster than HD's (depending on the drives being compared) on random workloads.

    [​IMG]

    I highly suggest reading Anand's articles on SSDs for more background on what makes them tick and how they perform...
    http://www.anandtech.com/tag/storage

    EDIT: Also with respect to stripe or block size in RAID0 arrays... with SSD's, every write operation will normally incur a write amplification as a much larger block of NAND actually has to be read and rewritten... a 4K write might actually invoke a 128K block of NAND to be read and rewritten with the new data. For Intel SSD's the NAND blocks are 128K, meaning a stripe size of 128K is ideal as it means every write operation matches the NAND block size. I believe most other SSD's use a NAND block size of 512K, for which there is no matching stripe size, so you are best off using the largest stripe size available. Using a small stripe size will impact write performance as it forces a large write amplification with every write operation.
     
  19. plinden macrumors 68040

    plinden

    Joined:
    Apr 8, 2004
    #20
    Sorry to tell you, but the Crucial C300 is a Sandforce based SSD and is one of the fastest on the market.
     
  20. nanofrog macrumors G4

    Joined:
    May 6, 2008
    #21
    What benchmarking software are you using to get this?

    I'm not saying the drives aren't fast, but the benchmarks differ, and in some cases, it could be burst/peak rates shown, not averages (what the 270 - 275MB/s range I stated = sustained = average is for SATA 3.0Gb/s).

    For example, from the review you posted:
    [/QUOTE]The G.Skill Phoenix Pro SSD delivered 286/273 MBps peak read and writes speeds using ATTO Disk Benchmark SSD speed tests with Everest Disk Benchmark produced 266/257 MB/s....[/QUOTE]
    Please note that the ATTO numbers listed are peak, not sustained, and Everest had lower numbers (average/sustained values). Not a big difference in this case, but the differentiation is there.

    For an MP, the only tool I can think of that's suitable, is AJA (very few OS X disk benchmark tools to start with). But XBench isn't sufficent for SSD's from what I've seen (rather "long in the tooth" as they say).
     
  21. johnnymg macrumors 65816

    johnnymg

    Joined:
    Nov 16, 2008
    #22
    The C300 uses a Marvel controller:
    http://www.bit-tech.net/hardware/storage/2010/07/07/crucial-realssd-c300-256gb-ssd-review/1

    To the poster you were responding to: The C300 is a VERY fast and reliable drive. I haven't seen any speed change (6 months use) contrary to the Anandtech article. FWIW, I also have an OCZ SSD drive and it is slightly faster than the C300 drive................... but saying the C300 "sucks" is beyond uninformed.

    cheers
    JohnG
     
  22. JavaTheHut macrumors 6502

    JavaTheHut

    Joined:
    Aug 15, 2010
    #23
    Micron aka Crucial 128GB SSD

    pulling out benchmarks and all, here is a Micron 128GB SSD Xbenchmark & AJA - To me it flies but if there others said that match or better cool!
     

    Attached Files:

  23. philipma1957 macrumors 603

    philipma1957

    Joined:
    Apr 13, 2010
    Location:
    Howell, New Jersey
    #24
    so like I told the op borrow my pair of intel x-25m 80gb ssds set them at 128k and have at it. if they test well buy them after the test if they don't mail them back. it is obvious that for his purposes they are the lowest price and fastest at least according to your chart. the gen 1 intel smokes at 160gb size and i know from my testing the 80gb in raid0 is really fast.
     
  24. milo thread starter macrumors 604

    Joined:
    Sep 23, 2003
    #25
    Those are impressive numbers. It would be nice to be able to confirm that it gets similar results on a mac.

    I understand the difference, it's just hard to know whether a particular kind of real world use is more like sequential reads or random reads (if it's more like random, then the SSD should have even more of an advantage, but it doesn't). Either way, I'm seeing performance that is about the same as HD or worse in this particular case. When I'm reading data at a rate lower than the 4k benchmark for this drive, I have to wonder if the problem is that the software is the bottleneck (which would mean that a faster drive might not make any difference, same with a raid).
     

Share This Page