Intel 710 Endurance Test Results

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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)



--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux