From: Duncan <1i5t5.duncan@cox.net>
To: gentoo-amd64@lists.gentoo.org
Subject: [gentoo-amd64] Re: Is my RAID performance bad possibly due to starting sector value?
Date: Sat, 29 Jun 2013 05:40:50 +0000 (UTC) [thread overview]
Message-ID: <pan$4911c$c1c894e3$dc074402$4ffc9255@cox.net> (raw)
In-Reply-To: 20130628105008.3d555c0d.gem@rellim.com
Gary E. Miller posted on Fri, 28 Jun 2013 10:50:08 -0700 as excerpted:
> Yo Duncan!
Nice greeting, BTW. Good to cheer a reader up after a long day with
things not going right, especially after seeing it several times in a row
so there's a bit of familiarity now. =:^)
> On Fri, 28 Jun 2013 09:12:24 +0000 (UTC)
> Duncan <1i5t5.duncan@cox.net> wrote:
>
>> Duncan posted on Fri, 28 Jun 2013 03:36:10 +0000 as excerpted:
>>
>> I settled on a 4 GiB file. Speeds are power-of-10-based since that's
>> what dd reports, unless otherwise stated.
>
> dd is pretty good at testing linear file performance, pretty useless for
> testing mysql performance.
Recognized. A single i/o job test, but it's something, it's reasonably
repeatable, and when done on the actual filesystem, it's real-world times
and flexible in data and block size, if single-job limited.
Plus, unlike some of the more exotic tests which need to be installed
separately, it's commonly already installed and available for use on most
*ix systems. =:^)
>> To SSD: peak was upper 250s MB/s over a wide blocksize range of 1 MiB
>> >From SSD: peak was lower 480s MB/s, blocksize 32 KiB to 512 KiB
>
> Sounds about right. Your speeds are now so high that small differences
> in the SATA controller chip will be bigger than that between some SSD
> drives. Use a PCIe/SATA card and your performance will drop from what
> you see.
Good point.
I was thinking about that the other day. SSDs are fast enough that they
saturate a modern PCIe 3.0 1x and a single SATA-600 channel all by
themselves. SATA port-multipliers are arguably still useful for for
slower spinning rust, but not so much for SSD, where the bottleneck is
often already the SATA and/or PCIe, so doubling up will indeed only slow
things down.
And most add-on SATA cards have several SATA ports hanging off the same
1x PCIe, which means they'll bottleneck if actually using more than a
single port, too.
I believe I have seen 4x PCIe SATA cards, which would allow four or so
SATA ports (I think 5), but they tend to be higher priced.
After pondering that for a bit, I decided I'd take a closer look next
time I was at Fry's Electronics, to see what was actually available, as
well as the prices. Until last year I was still running old PCI-X boxes,
so the whole PCI-E thing itself is still relatively new to me, and I'm
still reorienting myself to the modern bus and its implications in terms
of addon cards, etc.
>> Spinning rust speeds, single Seagate st9500424as, 7200rpm 2.5" 16MB
>
> Those are pretty old and slow. If you are going to test an HDD against
> a newer SSD you should at least test a newer HDD. A new 2TB drive could
> get pretty close to your SSD performance in linear tests.
Well, it's not particularly old, but it *IS* a 2.5 inch, down from the
old 3.5 inch standard, which due to the smaller diameter does mean lower
rim/maximum speeds at the same RPM. And of course 7200 RPM is middle of
the pack as well. The fast stuff (tho calling any spinning rust "fast"
in the age of SSDs does rather jar, it's relative!) is 15000.
But 2.5 inch does seem to be on its way as the new standard for desktops
and servers as well, helped along by the three factors of storage
density, SSDs (which are invariably 2.5 inch, and even that's due to the
standard form factor as often the circuit boards aren't full height and/
or are largely empty space, 3.5 inch is just /ridiculously/ huge for
them), and the newer focus on power efficiency (plus raw spindle density!
) in the data center.
There's still a lot of inertia behind the 3.5 inch standard, just as
there is behind spinning rust, and it's not going away overnight, but in
the larger picture, 3.5 inch tends to look as anachronous as a full size
desktop in an age when even the laptop is being displaced by the tablet
and mobile phone. Which isn't to say there's no one still using them, by
far (my main machine is still a mid tower, easier to switch out parts on
them, after all), but just sayin' what I'm sayin'.
Anyway...
>> To rust: upper 70s MB/s, blocksize didn't seem to matter much.
>> >From rust: upper 90s MB/s, blocksize upto 4 MiB.
>
> Seems about right, for that drive.
>
> I think your numbers are about right, if your workload is just reading
> and writing big linear files. For a MySQL workload there would be a lot
> of random reads/writes/seeks and the SSD would really shine.
Absolutely. And perhaps more to the point given the list and thus the
readership...
As I said in a different thread on a different list, recently, I didn't
see my boot times change much, the major factor there being the ntp-
client time-sync, at ~12 seconds usually (just long enough to trigger
openrc's first 10-second warning in the minute timeout...), but *WOW*,
did the SSDs drop my emerge sync, as well as kernel git pull, time!
Those are both many smaller files that will tend to highly fragment over
time due to constant churn, and that's EXACTLY the job type where good
SSDs can (and do!) really shine!
Like your MySQL db example (tho that's high activity large-file rather
than high-activity huge number of smaller files), except this one's
likely more directly useful to a larger share of the list readership. =:^)
Meanwhile, the other thing with the boot times is that I boot to a CLI
login, so don't tend to count the X and kde startup times as boot. But
kde starts up much faster too, and that would count as boot time for many
users.
Additionally, I have one X app, pan, that in my (not exactly design
targeted) usage, had a startup time that really suffered on spinning
rust, so much so that for years I've had it start with the kde session,
so that if it takes five minutes on cold-cache to startup, no big deal, I
have other things to do and it's ready when I'm ready for it. It's a
newsgroups (nntp) app, which as designed (by default) ships with a 10 MB
article cache, and expires headers in (IIRC) two weeks. But my usage, in
addition to following my various lists with it using gmane's list2news
service, is as a long-time technical group and list archive. My text-
instance pan (the one I use the most) has a cache size of several gig
(with about a gig actually used) and is set to no-expiry on messages. In
fact, I have ISP newsgroups archived in pan for an ISP server that hasn't
hasn't even existed for several years, now, as well as the archives for
several mailing lists going back over a decade to 2002.
So this text-instance pan tends to be another prime example of best-use-
case-for-SSDs. Thousands, actually tens of thousands of files I believe,
all in the same cache dir, with pan accessing them all to rebuild its
threading tree in memory at startup. (For years there's been talk of
switching that to a database, so it doesn't have to all be in memory at
once, but the implementation has yet to be coded up and switched to.) On
spinning rust, I did note a good speed boost if I backed up everything
and did a mkfs and restore from time to time, so it's definitely a high
fragmentation use-case as well. *GREAT* use case for SSD, and there too,
I noticed a HUGE difference. Tho I've not actually timed the startup
since switching to SSD, I do know that the pan icon appears in the system
tray far earlier than it did, such that I almost think it's there as soon
as the system tray is, now, whereas on the spinning rust, it would take
five minutes or more to appear.
... Which is something those dd results don't, and can't, show at all.
Single i/o thread access to a single rather large (GBs) unchanged since
original write file is one thing. Access to thousands or tens of
thousands of constantly changing or multi-write-thread interwoven little
files, or for that matter, to a high activity large file thus (depending
on the filesystem) potentially triggering COW fragmentation there, is
something entirely different.
And the many-parallel-job seek latency of spinning rust is something that
dd simply does not and cannot really measure, as it's simply the wrong
tool for that sort of purpose.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
next prev parent reply other threads:[~2013-06-29 5:41 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-20 19:10 [gentoo-amd64] Is my RAID performance bad possibly due to starting sector value? Mark Knecht
2013-06-20 19:16 ` Volker Armin Hemmann
2013-06-20 19:28 ` Mark Knecht
2013-06-20 20:45 ` Mark Knecht
2013-06-24 18:47 ` Volker Armin Hemmann
2013-06-24 19:11 ` Mark Knecht
2013-06-20 19:27 ` Rich Freeman
2013-06-20 19:31 ` Mark Knecht
2013-06-21 7:31 ` [gentoo-amd64] " Duncan
2013-06-21 10:28 ` Rich Freeman
2013-06-21 14:23 ` Bob Sanders
2013-06-21 14:27 ` Duncan
2013-06-21 15:13 ` Rich Freeman
2013-06-22 10:29 ` Duncan
2013-06-22 11:12 ` Rich Freeman
2013-06-22 15:45 ` Duncan
2013-06-22 23:04 ` Mark Knecht
2013-06-22 23:17 ` Matthew Marlowe
2013-06-23 11:43 ` Rich Freeman
2013-06-23 15:23 ` Mark Knecht
2013-06-28 0:51 ` Duncan
2013-06-28 3:18 ` Matthew Marlowe
2013-06-21 17:40 ` Mark Knecht
2013-06-21 17:56 ` Bob Sanders
2013-06-21 18:12 ` Mark Knecht
2013-06-21 17:57 ` Rich Freeman
2013-06-21 18:10 ` Gary E. Miller
2013-06-21 18:38 ` Mark Knecht
2013-06-21 18:50 ` Gary E. Miller
2013-06-21 18:57 ` Rich Freeman
2013-06-22 14:34 ` Duncan
2013-06-22 22:15 ` Gary E. Miller
2013-06-28 0:20 ` Duncan
2013-06-28 0:41 ` Gary E. Miller
2013-06-21 18:53 ` Bob Sanders
2013-06-22 14:23 ` Duncan
2013-06-23 1:02 ` Mark Knecht
2013-06-23 1:48 ` Mark Knecht
2013-06-28 3:36 ` Duncan
2013-06-28 9:12 ` Duncan
2013-06-28 17:50 ` Gary E. Miller
2013-06-29 5:40 ` Duncan [this message]
2013-06-30 1:04 ` Rich Freeman
2013-06-22 12:49 ` [gentoo-amd64] " B Vance
2013-06-22 13:12 ` Rich Freeman
2013-06-23 11:31 ` thegeezer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='pan$4911c$c1c894e3$dc074402$4ffc9255@cox.net' \
--to=1i5t5.duncan@cox.net \
--cc=gentoo-amd64@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox