On 21 May 2015, at 15:52, <pgsql-admin-owner@postgresql.org> <pgsql-admin-owner@postgresql.org> wrote:
> I mean, if I see ssd are 100% full, how can I figure out why their
> behavior changes ?
I would say "don't try to figure it out, simply accept that no affordably priced SSD on the market will perform well
with95-100% of it's capacity used".
If you really want to know why it happens, google some documents about wear-levelling, the process of writing and
erasingflash cells, etc.
Basically erasing is a slow process; internal fragmentation inside cells makes SSDs slow. Your SSD has to do a LOT more
workwhen it's full of data than when it's empty. basically it has no spare 'working area'.
If your SSDs are 100% full, accept that your system is going to perform OK for a short while, then it will perform
extremelybadly for a long time.
You must add more space.
Also, I suggest you should buy disks that have a high sustained performance when full (often this is achieved by having
hiddenspare space they don't tell you about, or better controllers).
You should aim to have SSDs no more than 50-70% full in normal use, peaking at 80%ish occasionally, if you want to get
goodconsistent DB performance out of them.
And even then, cheap consumer SSDs will still exhibit slowdowns in performance during heavy periods of writes.
Look at this data:
http://www.thessdreview.com/our-reviews/samsung-850-evo-ssd-review-1tb-differing-series-controllers-compared/4/
As you can see, most consumer SSDs have a problem with sustained performance. Once full, at a certain level of activity
theystruggle to keep up and the steady state performance is very poor compared to the advertised numbers (e.g.
60MB/second).
Some are worse than others.
Take a look here:
http://www.storagereview.com/samsung_ssd_845dc_evo_review
Look at the graph "preconditining curve - 4K 100% Write [Max latency]"
You can see some SSDs have latency that shoots up to e.g. 900ms for a 4K write! That's almost 1 second. And average
writesas bad as 31ms.
Whereas the models with better controllers and more reserved space achieve average and worst case results 10x better.
Expensive SSDs are great. Cheap SSDs are great-ish for consumer loads and moderate production loads but they vary
between'bad' and 'ok' for heavy production loads.
Graeme Bell