{"id":81,"date":"2008-07-21T12:47:08","date_gmt":"2008-07-21T10:47:08","guid":{"rendered":"http:\/\/www.ofcourseimright.com\/?p=81"},"modified":"2008-07-21T20:00:24","modified_gmt":"2008-07-21T18:00:24","slug":"iphone-rollout-redux","status":"publish","type":"post","link":"https:\/\/ofcourseimright.com\/?p=81","title":{"rendered":"iPhone Rollout Redux?"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-43 alignright\" style=\"border: 0pt none; margin-left: 5px; margin-right: 5px;\" title=\"iPhone\" src=\"http:\/\/www.ofcourseimright.com\/blog\/wp-content\/uploads\/2008\/07\/prod-phone.jpg\" alt=\"iPhone\" width=\"101\" height=\"194\" \/><\/p>\n<p>Well, July 11th, iPhone Day, came and went.\u00a0 The Believers waited and most got their phones, but even I could not have predicted the farsical mess that then ensued.\u00a0 Apple was unable to handle the registration of some 1 million phones in the period of a weekend, while their provisioning infrastructure ground to a halt.\u00a0 This is the added kick in the pants Believers must really enjoy.<\/p>\n<p>While we wait for news to leak out of Apple as to what actually happened, let me speculate just a bit.\u00a0 Let us assume the following statements are true:<\/p>\n<ol>\n<li>Apple did in fact test their provisioning capability prior to rollout.<\/li>\n<li>That of the three days the million phones were sold, most were sold and activated in the first twenty-four hours.\u00a0 In particular, let&#8217;s assume a 70%\/20%\/10% distribution.\u00a0 I don&#8217;t actually know the real one, but we have reason to believe that the load was top heavy on Friday, as problems dissipated later in the weekend.<\/li>\n<li>There were a average of two transactions per registration.\u00a0 That is- one to provision the phone with services, one to create MobileMe or whatever additional functionality that Apple offers.\u00a0 Normally we&#8217;d include a third for creation of an iTunes account, but since we&#8217;re talking about Believers they already have their account.<\/li>\n<\/ol>\n<p>700,000 sales times 2 transactions over 24 hours would be about 16 transactions per second.\u00a0 That&#8217;s really not that many transactions, considering that benchmarking systems measure that number in the hundreds and thousands.\u00a0 This makes one wonder: what if we introduced latency into a transaction.\u00a0 Latency can occur for many reasons, but the biggest one would be some sort of wide area communication.\u00a0 For instance, an 80 millisecond round trip time would mean that one might not be able to process any more than about 12.5 transactions per second.\u00a0 Now add a second round trip and you cut the transaction rate in half.<\/p>\n<p>As to Apple&#8217;s testing, if they tested their provisioning system either on a local area network or on a network that had lower latency than the time needed to complete the day&#8217;s transactions, they wouldn&#8217;t have caught the problem.\u00a0 This is actually a classic concern that most database vendors fully understand, and it is often the reason to use stored procedures.<\/p>\n<p>Anyway, that&#8217;s my guess.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well, July 11th, iPhone Day, came and went.\u00a0 The Believers waited and most got their phones, but even I could not have predicted the farsical mess that then ensued.\u00a0 Apple was unable to handle the registration of some 1 million phones in the period of a weekend, while their provisioning infrastructure ground to a halt.\u00a0 &hellip; <a href=\"https:\/\/ofcourseimright.com\/?p=81\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;iPhone Rollout Redux?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[57,76,77,78],"class_list":["post-81","post","type-post","status-publish","format-standard","hentry","category-stupid-stuff","tag-apple","tag-iphone","tag-latency","tag-network"],"_links":{"self":[{"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/posts\/81","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=81"}],"version-history":[{"count":4,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/posts\/81\/revisions"}],"predecessor-version":[{"id":101,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=\/wp\/v2\/posts\/81\/revisions\/101"}],"wp:attachment":[{"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ofcourseimright.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}