Intel 710 Endurance Test Results
От | David Boreham |
---|---|
Тема | Intel 710 Endurance Test Results |
Дата | |
Msg-id | 4E8CACC3.70304@boreham.org обсуждение исходный текст |
Список | pgsql-performance |
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)
В списке pgsql-performance по дате отправления: