pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: David Boreham <david_list@boreham.org>
To: PGSQL Performance <pgsql-performance@postgresql.org>
Subject: Intel 710 Endurance Test Results
Date: Wed, 05 Oct 2011 13:15:15 -0600
Message-ID: <4E8CACC3.70304@boreham.org> (raw)


I ran a test using Intel's timed workload wear indication feature on a 
100G 710 series SSD.

The test works like this : you reset the wear indication counters, then 
start running
some workload (in my case pgbench at scale 100 for 4 hours). During the 
test run
a wear indication attribute can be read via smartctl. This contains the 
drive's estimate
for the total drive wear lifetime used during the test run time. 
Provided we trust
the drive's estimate, this in turn provides an answer to the interesting 
question
"how long before my drive wears out in production?". That is, provided 
the test
workload can be reasonably accurately related to production workload.

Executive summary : the drive says that we used 0.025% of its wear life
during this 4h test. The test performed 47 million transactions on a
roughly 17G database.

We think that this pgbench workload performs transactions at roughly
10X the rate we expect from our application in production under heavy load.
So the drive says you could run this pgbench test for about two years
before wearing out the flash devices. Or 20 years under our expected 
production
workload.

Smart attributes read just after test completion:

[root@server1 9.1]# smartctl -A /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-2.6.32-71.29.1.el6.x86_64] 
(local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      
UPDATED  WHEN_FAILED RAW_VALUE
   3 Spin_Up_Time            0x0020   100   100   000    Old_age   
Offline      -       0
   4 Start_Stop_Count        0x0030   100   100   000    Old_age   
Offline      -       0
   5 Reallocated_Sector_Ct   0x0032   100   100   000    Old_age   
Always       -       0
   9 Power_On_Hours          0x0032   100   100   000    Old_age   
Always       -       90
  12 Power_Cycle_Count       0x0032   100   100   000    Old_age   
Always       -       8
170 Reserve_Block_Count     0x0033   100   100   010    Pre-fail  
Always       -       0
171 Program_Fail_Count      0x0032   100   100   000    Old_age   
Always       -       0
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   
Always       -       0
174 Unknown_Attribute       0x0032   100   100   000    Old_age   
Always       -       4
183 SATA_Downshift_Count    0x0030   100   100   000    Old_age   
Offline      -       0
184 End-to-End_Error        0x0032   100   100   090    Old_age   
Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   
Always       -       0
190 Airflow_Temperature_Cel 0x0032   073   070   000    Old_age   
Always       -       27 (Min/Max 17/30)
192 Unsafe_Shutdown_Count   0x0032   100   100   000    Old_age   
Always       -       4
194 Temperature_Celsius     0x0032   100   100   000    Old_age   
Always       -       32
199 UDMA_CRC_Error_Count    0x0030   100   100   000    Old_age   
Offline      -       0
225 Host_Writes_32MiB       0x0032   100   100   000    Old_age   
Always       -       51362
226 Workld_Media_Wear_Indic 0x0032   100   100   000    Old_age   
Always       -       26
227 Workld_Host_Reads_Perc  0x0032   100   100   000    Old_age   
Always       -       1
228 Workload_Minutes        0x0032   100   100   000    Old_age   
Always       -       242
232 Available_Reservd_Space 0x0033   100   100   010    Pre-fail  
Always       -       0
233 Media_Wearout_Indicator 0x0032   100   100   000    Old_age   
Always       -       0
241 Host_Writes_32MiB       0x0032   100   100   000    Old_age   
Always       -       51362
242 Host_Reads_32MiB        0x0032   100   100   000    Old_age   
Always       -       822

pgbench output from the test run:

bash-4.1$ /usr/pgsql-9.1/bin/pgbench -T 14400 -j 8 -c 64
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1000
query mode: simple
number of clients: 64
number of threads: 8
duration: 14400 s
number of transactions actually processed: 47205109
tps = 3278.127690 (including connections establishing)
tps = 3278.135396 (excluding connections establishing)





Message-ID: <4E8CACC3.70304@boreham.org>
Permalink:  ../4E8CACC3.70304@boreham.org/
Also on:    postgresql.org/message-id/4E8CACC3.70304@boreham.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: david_list@boreham.org
  Subject: Re: Intel 710 Endurance Test Results
  In-Reply-To: <4E8CACC3.70304@boreham.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox