{"id":662,"date":"2012-02-18T20:44:08","date_gmt":"2012-02-18T20:44:08","guid":{"rendered":"http:\/\/poojanwagh.opalstacked.com\/techblog\/?p=662"},"modified":"2012-02-18T20:44:43","modified_gmt":"2012-02-18T20:44:43","slug":"ssd-investigations-on-my-zfs-server","status":"publish","type":"post","link":"https:\/\/tech.poojanblog.com\/blog\/un\/ssd-investigations-on-my-zfs-server\/","title":{"rendered":"SSD investigations on my ZFS server"},"content":{"rendered":"<p>From a <a title=\"USB 3.0 (SuperSpeed) flash\/SSD drive tests\" href=\"http:\/\/poojanwagh.opalstacked.com\/techblog\/desk\/usb-3-0-superspeed-flashssd-drive-tests\/\">previous post<\/a>, I noticed the SSD that I&#8217;m using in my server showed only a 50 MB\/s write speed. That&#8217;s weird because the specs show around 145 MB\/s.<\/p>\n<p>So, I decided to investigate some more. I removed the SSD from the zpool and did some dd tests on it.<\/p>\n<code><br \/>\nserver# dd if=\/dev\/zero of=\/dev\/ada3 bs=4M count=32<br \/>\n32+0 records in<br \/>\n32+0 records out<br \/>\n134217728 bytes transferred in 1.587130 secs (84566307 bytes\/sec)<br \/>\nserver# dd if=\/dev\/zero of=\/dev\/ada3 bs=4M count=128<br \/>\n128+0 records in<br \/>\n128+0 records out<br \/>\n536870912 bytes transferred in 5.888121 secs (91178650 bytes\/sec)<br \/>\nserver# dd if=\/dev\/zero of=\/dev\/ada3 bs=4M count=1024<br \/>\n1024+0 records in<br \/>\n1024+0 records out<br \/>\n4294967296 bytes transferred in 45.720133 secs (93940394 bytes\/sec)<br \/>\nserver# dd if=\/dev\/zero of=\/dev\/ada3 bs=4M count=16384<br \/>\n^C6528+0 records in<br \/>\n6527+0 records out<br \/>\n27376222208 bytes transferred in 277.460367 secs (98667145 bytes\/sec)<br \/>\n<\/code>\n<p>That last run (which I interrupted) showed 94 MB\/s.<\/p>\n<p>&nbsp;<\/p>\n<p>The disks I am using (in a mirror) as a ZIL are much smaller. Let&#8217;s check their write performance:<\/p>\n<code><\/p>\n<p>server# zpool status<br \/>\npool: backup<br \/>\nstate: ONLINE<br \/>\nscan: none requested<br \/>\nconfig:<\/p>\n<p>NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 STATE\u00a0\u00a0\u00a0\u00a0 READ WRITE CKSUM<br \/>\nbackup\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\ngpt\/zfs-backup\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<\/p>\n<p>errors: No known data errors<\/p>\n<p>pool: tank<br \/>\nstate: ONLINE<br \/>\nscan: scrub repaired 0 in 12h12m with 0 errors on Sat Feb 11 03:35:06 2012<br \/>\nconfig:<\/p>\n<p>NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 STATE\u00a0\u00a0\u00a0\u00a0 READ WRITE CKSUM<br \/>\ntank\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\nmirror-0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\ngpt\/WD20EARS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\ngpt\/WD15EARS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\nmirror-2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\ngpt\/WD5000BPVT\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\ngpt\/Maxtor7Y250M0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\nlogs<br \/>\nmirror-1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\ngpt\/zil0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<br \/>\ngpt\/zil1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ONLINE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0 0<\/p>\n<p>errors: No known data errors<br \/>\nserver# zpool remove tank mirror-1<br \/>\nserver# dd if=\/dev\/zero of=\/dev\/gpt\/zil0 bs=4M count=1024<br \/>\n1024+0 records in<br \/>\n1024+0 records out<br \/>\n4294967296 bytes transferred in 88.818498 secs (48356676 bytes\/sec)<br \/>\n<\/code>\n<p>They are around 46 MB\/s write speed. Hmm. If I were willing to give up the mirror on the ZIL, I could break up the 64 GB SSD into a two-part partition and use one part as a ZIL and the rest as the L2ARC cache.<\/p>\n<p>I&#8217;d also free up a couple of SATA ports in the process&#8211;which is probably good, because I&#8217;m using a 4X SATA PCI card that&#8217;s probably very limited on bandwidth anyway. Rather than pushing this platform to its extreme, it might make sense to live with less.<\/p>\n<div class='wp_likes' id='wp_likes_post-662'><a class='like' href=\"javascript:wp_likes.like(662);\" title='' ><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/tech.poojanblog.com\/blog\/wp-content\/plugins\/wp-likes\/images\/like.png\" alt='' border='0'\/><\/a><span class='text'>Be the first to like.<\/span><\/p>\n<div class='like' ><a href=\"javascript:wp_likes.like(662);\">Like<\/a><\/div>\n<div class='unlike' ><a href=\"javascript:wp_likes.unlike(662);\">Unlike<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>From a previous post, I noticed the SSD that I&#8217;m using in my server showed only a 50 MB\/s write speed. That&#8217;s weird because the specs show around 145 MB\/s. So, I decided to investigate some more. I removed the SSD from the zpool and did some dd tests on it. That last run (which [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[185,174,129,184],"class_list":["post-662","post","type-post","status-publish","format-standard","hentry","category-un","tag-bandwidth","tag-benchmark","tag-ssd","tag-write"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/posts\/662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/comments?post=662"}],"version-history":[{"count":4,"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/posts\/662\/revisions"}],"predecessor-version":[{"id":667,"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/posts\/662\/revisions\/667"}],"wp:attachment":[{"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/media?parent=662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/categories?post=662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tech.poojanblog.com\/blog\/wp-json\/wp\/v2\/tags?post=662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}