{"id":3026,"date":"2011-04-19T18:38:33","date_gmt":"2011-04-19T08:38:33","guid":{"rendered":"http:\/\/nsrd.info\/blog\/?p=3026"},"modified":"2018-12-11T18:10:03","modified_gmt":"2018-12-11T08:10:03","slug":"well-it-performs-or-performance","status":"publish","type":"post","link":"https:\/\/nsrd.info\/blog\/2011\/04\/19\/well-it-performs-or-performance\/","title":{"rendered":"Well, it performs \u2013\u00a0or performance?"},"content":{"rendered":"<p>We are approaching the point where it would be conceivable for someone to build a PB <em>disk <\/em>system <em>in their home<\/em>. It wouldn&#8217;t be cheap, but it&#8217;s a hell of a lot cheaper than at any point in computing history.<\/p>\n<p>Do you think I&#8217;ve gone crazy? Do the math \u2013 using 3TB drives, you&#8217;d only need 342 drives to get to 1PB. If you wanted to do it really nasty, you could use USB drives, 7-port hubs and a series of PCIe USB cards.<\/p>\n<p>You can get standard motherboards now with 8 PCIe ports. 8 x 4-port USB-2 cards would yield 32 incoming USB channels. Throw a 7-port USB hub onto the end of each of those channels, and you&#8217;d get 224 USB connections. Not quite 342, so expand your design a little bit, deploy 2 hosts, split the drives between them and throw in a clustered filesystem across them.<\/p>\n<p>Viol\u00e1! It&#8217;ll be a messy pile of cables and you&#8217;ll need decent 3-phase power coming into your house, but you&#8217;ll have a PB of storage! Here&#8217;s the start of the system diagram before I got too bored and realised I&#8217;d need a much bigger screen:<\/p>\n<p><a href=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2011\/04\/Performance.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3027\" title=\"Performance or it performs?\" src=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2011\/04\/Performance.jpg\" alt=\"Performance or it performs?\" width=\"400\" height=\"519\" srcset=\"https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2011\/04\/Performance.jpg 400w, https:\/\/nsrd.info\/blog\/wp-content\/uploads\/2011\/04\/Performance-231x300.jpg 231w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>And if you haven&#8217;t lost your current meal laughing at this yet \u2013 I&#8217;ll state the brutally obvious. Performance would suck. For very, <em>very<\/em> large values of suck. Reliability would suck too, for equally large values of suck.<\/p>\n<p>But you&#8217;d have a PB of storage.<\/p>\n<p>That&#8217;s what it&#8217;s all about, isn&#8217;t it? Well, no. And we all know that.<\/p>\n<p>So if we recognise that, when we look at a blatantly absurd example, why is it that we can be sucked into equally absurd configurations?<\/p>\n<p>I remember in the early noughties, when the CLARiiON line got its first ATA line. The sales guys at the company I worked for at the time started selling FC arrays to customers with snapshots going to ATA disk to make snapshots cheap.<\/p>\n<p>The snapshots were <em>indeed <\/em>cheap.<\/p>\n<p>But as soon as the customers started using their storage with active snapshots, their performance sucked \u2013 for large values of suck.<\/p>\n<p>And the customers got angry.<\/p>\n<p>And there was much running around and gnashing of teeth.<\/p>\n<p>And I, a software-only guy sat there thinking &#8220;who would be insane enough to think that this would have been OK?&#8221;<\/p>\n<p>It&#8217;s the old saying \u2013 you can have cheap, good or fast. Pick two.<\/p>\n<p>Sometimes, cheap means you don&#8217;t even get to pick a <em>second<\/em> option.<\/p>\n<p>By now you&#8217;re probably think that I&#8217;m on some meandering ramble that doesn&#8217;t have a point. And, if you&#8217;re about to give up and close the browser tab, you&#8217;d be right.<\/p>\n<p>But, if you went onto this paragraph, you&#8217;d get to read my point: if you wouldn&#8217;t use a particular server, storage array or configuration in a primary production server, <em>you shouldn&#8217;t be considering it for the backup server that has to protect those primary production servers either.<\/em><\/p>\n<p>No, not in scenario X, or possibility Y. If you wouldn&#8217;t use it for primary production, you don&#8217;t use it for support production.<\/p>\n<p>It&#8217;s that simple.<\/p>\n<p>And if you want to, feel free to go build that cheap and cheerful 1PB storage array for your production storage. I&#8217;m sure your users will love it \u2013 about as much as they&#8217;d love it if you used that 1PB array to backup your production systems and then had to do a <em>recovery<\/em> from it. <strong>That&#8217;s<\/strong> my point; it&#8217;s not just about buying something that <em>performs<\/em> for backup \u2013 it&#8217;s about having something that has sufficient <em>performance<\/em> for recovery.<\/p>\n<p>So if someone starts talking to you about deploying X for backup, and X is a bit slower, but it&#8217;s a lot cheaper, just consider this: would you use X for your primary production system? If the answer is no, then you&#8217;d better have some damn good performance data at hand to show that it&#8217;s appropriate for the backup of those primary production systems.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are approaching the point where it would be conceivable for someone to build a PB disk system in their&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,5,16],"tags":[732,734],"class_list":["post-3026","post","type-post","status-publish","format-standard","hentry","category-architecture","category-backup-theory","category-networker","tag-performance","tag-performance-tuning"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKpIN-MO","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/3026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/comments?post=3026"}],"version-history":[{"count":1,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/3026\/revisions"}],"predecessor-version":[{"id":7514,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/3026\/revisions\/7514"}],"wp:attachment":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/media?parent=3026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/categories?post=3026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/tags?post=3026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}